C++给整型变量输入字符,结果变量值为0?

C++给整型变量输入字符,结果变量值为0?

编译器版本:gcc (x86_64-win32-seh-rev0, Built by MinGW-W64 project) 8.1.0

#include
using namespace std;
int main()
{
    int a;
    cin>>a;
    cout<system("pause");
    return 0;
}

img

我以为是输入字符给整型变量不成功,输出的是系统给变量赋的初始值,然后我又尝试将初始值改为1。

#include
using namespace std;
int main()
{
    int a=1;
    cin>>a;
    cout<system("pause");
    return 0;
}

img

请问朋友们这是什么原因?

int类型不能被赋值为字符

整形变量 限制 10位数的整数。
char变量 她只能输入字符,不能输入其他的
返回你的问题,你在整形里面输入字符相当于跨区办事,会出现乱码的。

把第8行代码去掉

我想知道为什么不管输入什么字符只输出0,而不是输出乱码、随机数或ascii码?