我正在使用 MinGW 在 Windows 上运行 g++ 编译器。每当我运行以下代码时,编译器都会给出奇怪的结果。
代码:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int n;
string a;
cin>>n;
getline(cin,a);
cout<<a;
return 0;
}
编译代码时没有出现问题。但是一旦我运行代码并为 n 提供输入,它就不会要求输入 a 并结束。我正在使用 MinGW 5.1.6,这有什么问题吗?或者我的代码有什么问题吗?
最佳答案
问题出在您的代码中。简而言之,您键入用于提交 n
数字的换行符仍存储在输入缓冲区中,因为它不是数字输入,因此不会被 n
消耗。 getline
函数然后吸收换行符并完成。
关于c++ - iostream 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3569005/