我遇到了下面的 C + + 程序(来源) :
#include <iostream>
int main()
{
for (int i = 0; i < 300; i++)
std::cout << i << " " << i * 12345678 << std::endl;
}
它看起来像一个简单的程序,并在我的本地机器上提供正确的输出,例如:
0 0
1 12345678
2 24691356
...
297 -628300930
298 -615955252
299 -603609574
但是,在像 厨师长这样的在线 IDE 上,它提供以下输出:
0 0
1 12345678
2 24691356
...
4167 -95167326
4168 -82821648
4169 -7047597
为什么 for
循环不在300时终止?而且这个程序总是在 4169
上终止。为什么是 4169
而不是其他值?