我不明白`cin`在C ++中的工作原理

时间:2018-09-01 06:50:26

标签: c++

我是C ++的新手,我想学习以下代码如何生成输出?

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

我为123输入a,为,输入b。但是,cout<<a<<b行如何给出123,的输出?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-1)

之所以发生这种情况,是因为您有两个不同的数据类型,分别声明为“ a”和“ b”为“ char”,并且C ++将“ 123”作为单个int输入。希望这可以帮助。 快速解决: 避免在int之后输入Char,因为当您按回车键(输入键)时,会将char输入为其ascii值。 代码段

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