c语言for循环效率问题~

来源:百度知道 编辑:UC知道 时间:2024/06/06 13:26:37
for(i=0;i<5;i++)
for(j=0;j<100;j++)
{}
for(j=0;j<100;j++)
for(i=0;i<5;i++)
{}
哪个执行效率高~~
为什么?期待详细的解答

for(i=0;i<5;i++)
for(j=0;j<100;j++)
{}
效率高

双层循环,较长的循环放在内层效率要高

for(j=0;j<100;j++)
for(i=0;i<5;i++)
{}

这样内层循环要构造100次,所以频繁的在循环和构造循环间切换

for(i=0;i<5;i++)
for(j=0;j<100;j++)
{}
这样内层循环只要构造5次,所以效率要高

int a = 1;
long i, j;

for(i=0;i<5;i++)
for(j=0;j<10000000;j++)
{
a *= 1;
}

int a = 1;
long i, j;

for(i=0;i<10000000;i++)
for(j=0;j<5;j++)
{
a *= 1;

}

这样比较一下运行时间就会看出来区别

不要钻牛角尖。现在计算机速度多快呀,根本不差这几微妙。
实在追求效率,++i比i++效率高。
或者写成汇编效率最高了。

不要钻牛角尖。现在计算机速度多快呀,根本不差这几微妙。
实在追求效率,++i比i++效率高。
或者写成汇编效率最高了。

for(i=0;i<5;i++)
for(j=0;j<100;j++)
{}
效率高

双层循环,较长的循环放在内层效率要高

for(j=0;j<100;j++)
for(i=0;i<5;i++)
{}

这样内层循环要构造100次,所以频繁的在循环和构造循环间切换

for(i=0;i<5;i++)
for(j=0