头文件略int main(){int n;cin>>n;for(string s;n--&&getline(cin,s);){……}……}会把n读入进for(初以为因为是getline不是cin),但是后来又遇到cin也是同样的错误。如问题所问。
1 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
getchar的作用是到输入缓冲区读数据,只读一个字节
而你如果加上
char c;
c=getchar();//测试中只要少了这段就不必要再加1个getchar()停留
cout<<c<<endl;
在你输入这个char c时 是不是要输入一个字符,然后回车,这个字符被c=getchar获取到了,并赋值给c
但是还有一个回车存在了输入buffer里面
所以在下面你要停住的时候,第一个getchar就获取到了这个回车 无法达到停住的效果
停留窗口,getchar是个不错的方法,保险起见,可以先清空输入buffer
或者用getch函数
如果是windows可以用system("pause") 这个方法很流行
添加回答
举报
0/150
提交
取消