【发布时间】:2021-02-20 14:40:31
【问题描述】:
我有一个关于 for 循环的问题; 代码如下
for (int i = 0; i <= 3; i++)
{
for (int j = 0; j < 2; j++)
{
Console.WriteLine("J");
}
Console.WriteLine("I");
}
这段代码的输出是;
JJIJJIJJIJJI
我的问题是:首先 for 循环“i”为 0 且条件为真,因此循环进入第二个循环 j 为 0 且条件为真。它写入“J”,然后 j++ 正在工作,现在 J 为 1。第二个循环再次写入“J”,然后将其增加到 2,因此第二个 for 循环条件为假,它进入第一个 for 循环,它写入“I”然后增加第一个循环 i 现在是 1 所以第一个 for 循环条件为真,然后它进入第二个:问题从这里开始。 J 为 2,第一个循环条件再次为真后 J 变为 0 并再次写入 2 J 是如何实现的?
我希望我能正确地告诉你我的问题。 非常感谢
【问题讨论】:
-
因为内部循环被重新初始化并且以 j=0 开头。
-
为什么?我不明白这背后的逻辑。我阅读了很多关于 for 循环的内容,但仍然没有找到嵌套的内容。
-
在外部 for 完成第一个循环后,它再次重新启动内部循环。但是重新启动意味着重新初始化所有内容。还有设置 j=0 的命令