我不明白 c++ 中的"cin"工作

I don't understand `cin` works in c++

本文关键字:cin 工作 中的 c++ 明白      更新时间:2023-10-16

我是C++新手,我想了解以下代码如何生成输出?

int main(){
int a;
char b;
cin>>a; 
cin>>b;
cout<<a<<b;
}

我输入123用于a,用于b。但是为什么这条线cout<<a<<b给出123,的输出呢?

cin>>a>>b输入 123 时,a是一个整数,c++ 开始查找整数。它检测到 123,但,不是整数,因此cin无法检测到这一点。当cin失败时,它会转到下一个命令,下一个命令是读取字符b并读取,。 我希望这是有帮助的!

发生这种情况是因为您有两种不同的数据类型声明为"a"是类型"int",而"b"是类型"char",而且C++将"123"作为单个 int 输入。希望这有帮助。 快速修复: 避免在 int 之后输入字符,因为当您按回车键(回车键(时,字符会输入到它的 ascii 值。代码片段

int a;
char b;
cin>>a;
cout<<a<<endl;
cin>>b;
cout<<b<<endl;