我们不能将char值存储在整数变量中

时间:2018-04-09 19:25:03

标签: c++

我试图将字符值存储在整数变量中,但它会抛出错误。所以我用以下代码突出显示了这个问题:

# include<iostream>

using namespace std;


int main()
{
    int userInput;
    char character = 'a';

    cout<<"Enter a value in the prompt ";
    cin>>userInput;
    cout<<userInput<<endl;
    if(userInput == 'a' ){
        cout<<"True";

    }
    else{
        cout<<"Match failed";
    }
return 0;   
}

Output:
Enter a value in the prompt a
0
Match Failed

所以我不明白为什么会这样?在从用户输入“a”后,它还会打印值0。所以它永远不会保存特征值

1 个答案:

答案 0 :(得分:1)

当您使用operator>>输入整数时,operator>>正在寻找字符,&#39; 0&#39; ...&#39; 9&#39; (数字的数字)。它将收集数字,然后创建一个数字。

当您使用operator>>输入字符时,operator>>将读取一个字符并存储到变量中。

您可以使用编码(例如ASCII)将字符转换为其编号。