1、关于 C 语言 FOR 循环嵌套的一点疑问,求指点,谢谢。 2010-05-11 17:41提问者:yibiao4569| 浏览次数:1039 次实在不好意思啊 我财富值 只有45分咯 所以 呃 不好再多给分了。如图 #include “stdio.h“void main()int i, j, k;printf(“i j kn“);for (i=0; i2; i+)for(j=0; j2; j+)for(k=0; k2; k+)printf(“%d %d %dn“, i, j, k);请问这三个 循环嵌套如何理解 ? 结果为什么会是这样子的啊 ?我认为应该是先处理完第一个循环再处理第二个然后在
2、第三个。输出结果应该是0 0 01 0 01 1 01 1 1Thanks in advance问题补充:我来帮他解答满意回答2010-05-11 18:00这个问题很好理解啊!你主要是被多层循环搞晕了,你可以先从简单的理解,理解完了再深入!for 循环是这样工作的:for(语句1;语句2 ;语句3) ;先初始化(语句1):只做一次,以后再也不做了;条件判断(语句2):一旦条件成立就做循环里的语句,直到循环里的语句全做完再回来判断;一旦条件失败就跳出循环,以后整个循环都再也不起作用了!扫尾工作(语句3):每次循环体里的语句执行完就做一次;这里最重要的是理解条件判断这一块,理解好了就好理解多重循环了!三重循环是这样工作的(以你的程序为例):第一层循环:判断 i 是不是小于 2,刚开始是0很显然条件成立,这时,注意了,是进入第一层循环体内了,也就是开始了第二层循环,而不是第一层循环结束,因为对第一层循环来说条件是成立的。第二层:又是条件成立,进入第三层,第二层等待;第三层:条件成立进入循环体的功能就是输出此时 i,j,k 的值,也就是0,0,0;这时第三层还没结束,不可能回到第二层的,而是继续判断第三次的是否成立,结果 k的值是1,成立,输出0 ,0,1;这时第三层才算结束,回到第二层;。 。 。后面的自己捋吧,呵呵!很简单的!