将以下 for
循环作为 while
循环执行相当于什么?
for (int i=0;i<10;i++)
{
...
}
起初我认为以下方法可行:
int n = 0;
while (n++ <= 10)
{
...
}
但后增量似乎发生在进入第一个 while 循环之前,因此我需要设置 n=-1
来对此进行调整。是否有更接近的方法将 for
循环重写为 while
循环(不带 do
)?
最佳答案
您必须将增量放入循环体中(在循环的最后):
int n = 0;
while (n < 10)
{
//...
n++;
}
但请注意:正如评论中提到的,此类循环内的任何 continue
语句(如果本身没有包含在嵌套的内部循环中)都会破坏代码并创建一个潜在的无限循环!
故事的寓意:当 for
循环合适时使用 for
循环,并且使用 while
当 while
循环合适时进行循环。
关于将 for 循环转换为带有后置增量的 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65757399/