因为循环永远

son*_*ool -4 c++ for-loop

我希望这个循环从我设置的值减少到10到0.为什么它会一直持续下去?

int lengthString = 10;

for (int j = lengthString; lengthString > 0; j--)
{
    cout << j;
}
Run Code Online (Sandbox Code Playgroud)

lit*_*adv 9

改成

 for (int j = lengthString; j > 0; j--)
Run Code Online (Sandbox Code Playgroud)

lengthString 你的循环不会改变.

此外,您可能要验证lengthString大于0(您的真实代码)如果你声明j作为int,因为如果j初始化为负数时,循环运行"永远"(直到溢出,并得到再次下降到0 , 那是).