对不起这个noob问题,我试过阅读其他问题和答案,但我就是不明白。我不明白嵌套for循环中的执行逻辑。ef
for (int i = 0; i < n; i++)
{
for (int j = 0; j < i; j++)
{
printf(" ");
printf("second");
printf(" ");
}
printf("first");
}
n=4:时的输出
first second first second second first second second second first
我不知道为什么输出是第一、第二,然后是第二秒。
有人愿意解释一下吗?我试着盯着屏幕看了2个小时,并阅读了谷歌在嵌套循环流程图上的4个第一点击,它太复杂了。。
感谢
编辑:正如Weather Vane建议的那样,我在"第一个"后面加了一个,使它更清晰。
现在输出为:
first
second first
second second first
second second second first
对于外循环的每次迭代(4次迭代,i
从0
到3
不等(,内循环迭代i
次(j
从0
到i-1
不等(。
因此,对于第一次迭代,内环运行0
次,因此在printf("first")
之前没有输出,然后第二次迭代导致内环运行一次,并在printf("first")
之前输出second
,等等。
- 第一次迭代:CCD_ 12
- 第二次迭代:CCD_ 13
- 第三次迭代:CCD_ 14
- 第四次迭代:CCD_ 15