Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么std::endl使这个循环永远运行?_C++_Infinite Loop_Endl - Fatal编程技术网

C++ 为什么std::endl使这个循环永远运行?

C++ 为什么std::endl使这个循环永远运行?,c++,infinite-loop,endl,C++,Infinite Loop,Endl,我在问答平台上找到了这段代码 #include <iostream> int main() { for (int i = 0; i < 300; i++) std::cout << i << " " << i * 12345678 << std::endl; } #包括 int main() { 对于(int i=0;i

我在问答平台上找到了这段代码

#include <iostream>
int main()
{
for (int i = 0; i < 300; i++)
std::cout << i << " " << i * 12345678 << std::endl;
}
#包括
int main()
{
对于(int i=0;i<300;i++)

std::cout程序会因为有符号整数溢出而导致未定义的行为,这意味着任何事情都可能发生。我明白你的意思。我将int改为long-long-int并得到了正常的结果。但是如果它是因为有符号整数溢出而发生的,为什么在我使用int但不将std::endl放在末尾的情况下不会发生呢?在这些情况下,the循环正常终止。很难说,该语言只为有效程序定义,而不是为有效程序定义的