我遇到了以下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
但是,在诸如codechef之类的在线IDE上,它提供以下输出:
0 0
1 12345678
2 24691356
...
4167 -95167326
4168 -82821648
4169 -7047597
为什么for
循环不终止于300?此程序也总是在终止4169
。为什么4169
而不是其他一些价值?