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);
}
结果是什么
一定要有详细算法~
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);
}
结果是什么
一定要有详细算法~
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
算法:i=0(执行1循环)→j=0(执行2循环)→k=0(执行3循环)→printf→k=1→printf→k=2(循环3结束)→j=1→k=0(执行3循环)→printf→k=1→printf→k=2(循环3结束)→j=2(循环2结束)→i=1→j=0(执行2循环)→k=0(执行3循环)→printf→k=1→printf→k=2(循环3结束)→j=1→k=0(执行3循环)→printf→k=1→printf→k=2(循环3结束)→j=2(循环2结束)→i=2(循环1结束)。
... 循环的嵌套就是内层循环结束后外层加1.然后从头继续内层循环.
在本程序中i j k的值都是0和1. 三层循环就是执行2^3 也就是输出8行.
所以这个程序的输出就是
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