以下代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin >> t;
while(t--)
{
string s;
getline(cin,s);
cout << s << "\n";
cin.ignore(1000,'\n');
}
return 0;
}
示例输入:
2
名1
名称2
预期产出:
名1
名称2
错误输出:
Name2 //后跟空白行
我不知道为什么会这样。我尝试了stackoverflow上给出的所有解决方案,但不幸的是没有一个对我有用。谢谢你。
答案 0 :(得分:0)
cin.ignore()
用于在输入整数后忽略新行。
因此,请在cin.ignore()
cin>>t
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
cin >> t;
cin.ignore();
while(t--)
{
string s;
getline(cin,s);
cout << s << "\n";
}
return 0;
}