cin>>d;stringa; getline(cin,a); 看起来应该有两次输入, 可实际只有一次输入, a 的值不知该如何获取。 实际上这是一个缓冲区的问题。 cin 获取到输入之后, 并不是直接就把值赋给了 d,而是先存入缓冲区中,当调用 getline 时, 缓冲区中的数据还没有被释放。所以 getline 会直接从缓冲区中读取数据。因此...
getline(cin,p);cout<<"您输入的同学p的名字为"<<d<<endl;cout<<"您输入的同学P和D的名字分别为"<<p<<"和"<<d<<endl;system("pause");return 0;} 建议不要混用。最简单的改法就是直接使用cin>>d;cin>>p;上述代码使用g++编译可正确运行。使用的vc,在vc下使用getline非成员数一般会出...
代码: #include <iostream> int main() { using namespace std; char name[16], school[50]; cout << "请输入您的姓名:" << endl; cin >> name; cout << "请输入您的学校:" << endl; cin.getline(school, 50); cout << "你的名字是:" <<... " <?还有:“Xiao Ming”; " cin >iostr...
cin>>d;stringa; getline(cin,a); 看起来应该有两次输入, 可实际只有一次输入, a 的值不知该如何获取。 实际上这是一个缓冲区的问题。 cin 获取到输入之后, 并不是直接就把值赋给了 d,而是先存入缓冲区中,当调用 getline 时, 缓冲区中的数据还没有被释放。所以 getline 会直接从缓冲区中读取数据。因此...