gpt4 book ai didi

c++ - Eclipse C++ 曲折代码流

转载 作者:行者123 更新时间:2023-11-30 03:28:27 24 4
gpt4 key购买 nike

使用以下代码

#include <iostream>
using namespace std;

int main() {
int num;
cout << "Insert number: " << endl; // prints "Insert number:"
cin >> num; //Reads num
cout << num; //prints num

system("PAUSE");
return 0;
}

我在 eclipse 的内部控制台中得到以下结果:

Insert number:         //code in line 6
3 //code in line 7 (Input)
Press any button... //code in line 10
//empty line after pressing any button
3 //code in line 8?!?!?

我不知道为什么会这样。看起来 eclipse 只是扭曲了代码的执行。但是为什么以及如何解决这个问题?

最佳答案

这叫做缓冲std::cout 的输出是缓冲的,除非缓冲区被刷新(在程序退出时发生)或您使用 flush 显式刷新它或endl 标准 I/O manipulators

显示 PAUSE 命令的输出是因为它绕过了进程的 std::cout 缓冲,直接写入控制台窗口或者因为它刷新自己的内部缓冲区(PAUSE 命令将作为一个不相关的进程运行,具有自己可能的缓冲)。

关于c++ - Eclipse C++ 曲折代码流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46567173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com