使用getline输入字符串时要注意回车问题
看这个代码
int k;
cin >> k;
string a;
getline(cin, a);
string b;
getline(cin, b);
当我们输入k后并且敲了一个\n,这时缓冲区是k\n;把k取走后,会剩下\n,这时getline会发现缓冲区有\n,于是会把\n取走,所以这时的a就是\n,你在输入的就是字符串b。
所以要把\n取走,添加一个getchar()或cin.get()。
int k;
cin >> k;
getchar();
string a;
getline(cin, a);
string b;
getline(cin, b);