以下代码:

unsigned char agevalue;
cout<<"what is your age?"<< endl;
cin >> agevalue;
cout<<"your age is:"<< agevalue <<endl;`

剪切大于9的值,仅保留第一个数字。
这可能是什么原因?

最佳答案

尽管unsigned char在某些情况下被视为整数,但它主要用于表示和代表单个字符。因此,您的代码只读取第一个数字。如果要读取数字,则要使用一种非char整数类型,例如int(如果需要整数,则应为默认选择)。

关于c++ - C++中的无符号字符无效?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19007537/

10-12 20:32