【发布时间】:2021-08-21 03:20:42
【问题描述】:
所以我一般都很好地理解了循环,尽管我主要关心的是嵌套循环。我在这里提供了一个书本示例:
#include <stdio.h>
int
main(void)
{
int i, j; /* loop control variables */
printf(" i j\n"); /* prints column labels */
for (i = 1; i < 4; ++i) { /* heading of outer for loop */
printf("Outer %6d\n", i);
for (j = 0; j < i; ++j) { /* heading of inner loop */
printf(" Inner %9d\n", j);
} /* end of inner loop */
} /* end of outer loop */
return (0);
}
预期输出如下:
i j
Outer 1
Inner 0
Outer 2
Inner 0
Inner 1
Outer 3
Inner 0
Inner 1
Inner 2
我的书没有很好地解释这些循环是如何工作的,而只是向我们展示了代码和输出。
为什么一开始只打印i,然后是j,然后打印递增的i,然后又重新开始j?
我希望能够理解这个概念,以便在需要时充分利用它,但我在网上找不到答案。
谢谢。
【问题讨论】:
-
这是学习如何使用调试器的理想机会,因此您可以逐行逐行执行代码。我认为这应该很清楚
-
也是学习如何剪切粘贴文本而不是插入图像的好机会。不要插入程序的图像。
-
Bryan,@Serge 是正确的,因为这里的代码图像通常不受欢迎(尽管如果代码很小,我们中的一些人会留有一点余地,我们不必输入它来调试它)。只是下次要记住的事情。现在,我已经用一些文本代码(和输出)替换了你的图像,以降低它被关闭的可能性 - 我今天显然有很多时间:-)
标签: c loops nested-loops