请问for嵌套是怎么循环的?为何结果是那样?

来源:百度知道 编辑:UC知道 时间:2024/06/28 06:20:10
main()
{
int i, j, k;
printf("i j k\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 j k
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

for语句要是没加{}
就只执行下面一句
也就是说从第一个for开始,不管循环一次都要执行一次printf
执行第一个for第一次时会执行第二个for二次。
执行第二个for时会执行第三个for两次
第三个for执行完两次后再回到第二个for执行第二次for
第二个for执行第二次时就会再将第三个for执行两次
这样就把第二个for的两次都执行完了,然后再执行第一个for的第二次

还好你这个例子循环少,以前做过4个嵌套4次循环的,要把第次的值都写出来