繁体   English   中英

for 循环中的 while 循环如何工作?

[英]How does a while loop inside a for loop work?

对不起,基本问题。 但是代码是否完成了内部 while 循环的执行,然后更新了外部 for 循环中的计数? 或者它是否以交替的方式执行每个变量更新?

例子:

int j= 1;
for(int i=0; i< 5; i++)
{

   while(i <3)
    {
        j++;
    }
}

当 i = 0 时,它会先进入 for 循环。紧接着它会进入 while 循环并无限期地继续运行,因为 i 将始终为 0,因此 < 3。您可能需要在内循环的 break 条件下处理 j for避免无限循环。

除非您处理该循环内的 'i' 变量,否则您将永远无法跳出该内部 while 循环。 将发生无限循环。

i 的初始值为 0。然后它开始执行 while 循环。 测试是 i < 3 对 i = 0 评估为真。

while(true){
  j++;
}

所以它留在while循环内并且永远不会退出它。

假设你的意思是:

int j= 1;
for(int i = 0; i < 5; i++)
{

   while(j < 3)
    {
        j++;
    }
}

然后for循环将执行 5 次, while循环将总共执行 10 次( for循环每次执行两次)。 它不会以交替方式更新。 相反,它停留在while循环内,直到j3 然后它增加i并检查for条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM