在C++中无限循环

-2 c++ for-loop

当我在读代码时,我发现循环for只使用了两个参数(中间的一个参数不存在).程序执行时,循环为无限.这是一个最小的工作环境.谁能告诉代码中有什么问题?

// Example program
#include <iostream>
using namespace std;

int main()
{
  for (int i = 0; ; i = (i+1)%2)
  {
      cout << i << endl;
      }
}
Run Code Online (Sandbox Code Playgroud)

use*_*819 6

当你有

for (statement 1;statement 2;statement 3){}
Run Code Online (Sandbox Code Playgroud)

语句1:在进入for循环时执行

语句2:在每次新迭代之前进行检查,如果它的计算结果为0/false则不会继续

声明3:无论如何都在每次迭代结束时执行.

如果你将语句2留空,则默认为true/1,因此每次循环时它都会评估为继续,因此将是无限循环