C++ For循环循环只有299次

c4r*_*t3r 2 c++

我有这个奇怪的问题.我的代码很简单:

#include <iostream>
using namespace std;

int main() {
    int num;
    cout << "number: ";
    cin >> num;

    for (int i=0;num>i;i++) {
        cout << i <<"\n";    
    }

system ("Pause");
return 0;    
}
Run Code Online (Sandbox Code Playgroud)

例如,如果输入为1000,则输出包含701-999的数字.任何的想法?

我在Parallels上使用Dev-C++ IDE.

Arm*_*yan 20

实际上它打印所有这些,从0到999,但你的控制台的缓冲区不够大.所以你只看到最后一部分.如果你打印到文件,而不是控制台,你会看到:)


Jos*_*shD 10

当循环num>i不再为真时,循环结束.当i为1000时会发生这种情况,因此执行的最后一个循环将使用值999.至于看不到低于701,可能您的屏幕缓冲区太小.

  • 闻起来Windows:300行是cmd.exe默认的垂直行最大值. (3认同)

Rue*_*uel 5

它将从0-999开始.此外,在您看来,由于您的控制台屏幕设置,它以701开头.如果您想亲眼看到它,请将换行符更改为空格:

cout << i <<" "; 
Run Code Online (Sandbox Code Playgroud)