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

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
2026年09月17日 10:50
有1个网友回答
网友(1):

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);
}
写成上面这样你应该看得更清楚,最先循环k:i=0,j=0时,遍历k,得到0,0,0和0,0,1 然后循环j:i=0,j=1时,k再从头循环,得到0,1,0和0,1,1
最后循环i:你知道结果了,是1 0 0
1 0 1
1 1 0
1 1 1
楼主初学吧,这个是循环最基本的概念,先循环最内层的,最后循环最外层的,祝学习顺利