初学者请大神指教这个问题!
请大神指点这个问题,看我自己理解的对不对!
程序执行第一层,分别为k=0,k=1时符合条件,程序显示为前两行,
然后程序执行第二层,j=0,j=1时执行,在执行程序的时候第一层程序也跟着重复执行k=0,k=1;
然后第三层的时候也是这样子!
但是程序执行嵌套最里层的时候,以外的嵌套不执行,但是执行第二层的 时候,第二层以内的还要执行,以上的不执行!
我表达的有点不清楚,希望大神指点这个程序的执行是不是这个方式!还望给与清晰的指点!小弟在此谢过了!
你这问的模模糊糊的,程序写的极不规范,让人无语凝噎。 你可以这么想,第一层k完成循环后第二层循环j+1,第二层完成循环后第三层i+1,我们只看第三层,总共i是改变2次吧,i改变2次第二层循环2次也就是j改变2*2=4次,j改变4次也就是k改变4*2=8次。
假设有N个循环,每个循环执行N次,则总的执行次数就是N的N次方 我觉得这样比较清晰点
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
printf ("%d %d %d \n", i, j, k);
i = 0 i < 2 成立
j = 0 j < 2 成立
k = 0 k < 2 成立
输出 i j k = 0 0 0
转到k++
k = 1, k < 2 成立
输出 i j k = 0 0 1
转到k++
k = 2 k < 2 不成立
转到j++
j = 1 j < 2 成立
k = 0 k < 2 成立
输出 i j k 0 1 0
转到k++
k = 1 k < 2 成立
........... 清明 发表于 2014-3-3 22:01 static/image/common/back.gif
我觉得这样比较清晰点
for (i = 0; i < 2; i++)
如醍醐灌顶,明白了!谢谢! sidfate 发表于 2014-3-3 21:10 static/image/common/back.gif
你可以这么想,第一层k完成循环后第二层循环j+1,第二层完成循环后第三层i+1,我们只看第三层,总共i是改变 ...
嗯,这种思路很简便,谢谢了哈! 林锐的《高质量c语言编程》 关于代码格式规范,lz可以看看 Diu 发表于 2014-3-4 22:19 static/image/common/back.gif
林锐的《高质量c语言编程》 关于代码格式规范,lz可以看看
好的,谢谢推荐!
页:
[1]