cin的问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 23:42:27
void main(){
char nm[20];
char i[20];
int sx;
short int ag;
cout<<"name:";
cin.getline(nm,20);
cout<<"id:";
cin.getline(i,20);
cout<<"sex:";
sx=cin.get();
cout<<"age:";
cin>>ag;
}
这一段程序中,sx定义为int型,我给他输入个字符,结果就跳过了后面的输入,这是怎么回事?

cin>>sx;
字符也可以接受,只是值为0

我们来看看cin.get的作用,他是从外部设备中读入一个字符。
记住只是一个。
所以你在sex:后只能输入一个字符,然后回车,就能在输出age:后输入ag的值。不然的话,程序会自动将第二个字符开始的数字赋给ag。可以在程序的结束加上cout<<ag<<endl;测试