以下代码:
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/