首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

三维数组 嵌套for循环 i,j,k次序有关问题

2012-04-09 
三维数组 嵌套for循环 i,j,k次序问题int a[60][250][1000],i,j,kfor(k0k1000k++)for(j0j250j++)

三维数组 嵌套for循环 i,j,k次序问题
int a[60][250][1000],i,j,k;
for(k=0;k<=1000;k++)
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a[i][j][k]=0;

这样是错误的,需要把循环语句i,j,k内外换一下

为什么??????????

[解决办法]
这么看吧,a[60][250][1000], 60是最外层, 1000是最里层。 循环的时候根据这个判断哪个在最里面,因为在最里面的是变化最频繁的,也就是1000那层。
[解决办法]

探讨
引用:
这么看吧,a[60][250][1000], 60是最外层, 1000是最里层。 循环的时候根据这个判断哪个在最里面,因为在最里面的是变化最频繁的,也就是1000那层。


为什么?
我觉得都是for了1000*250*60(60*250*1000)次 ,而for的执行效率一样的

[解决办法]
要说错误,只看出一个:
for(k=0;k<=1000;k++)
应该改成
for(k=0;k<1000;k++)

哪个在内层,只是影响效率;反正都是赋0,初始化先后顺序没有什么关系。
要高效就直接memset();

热点排行