下面一段代码:`C++中的unsigned char无效?
unsigned char agevalue;
cout<<"what is your age?"<< endl;
cin >> agevalue;
cout<<"your age is:"<< agevalue <<endl;`
削减值大于9,只留下第一个数字。 这可能是什么原因?
下面一段代码:`C++中的unsigned char无效?
unsigned char agevalue;
cout<<"what is your age?"<< endl;
cin >> agevalue;
cout<<"your age is:"<< agevalue <<endl;`
削减值大于9,只留下第一个数字。 这可能是什么原因?
如果您正在寻找在数量上拉,你需要使用正确的数据类型:
unsigned short ageValue = 0;
cout << "What is your age?" << endl;
cin >> ageValue;
cout << "Your age is " << agevalue << endl;
如果你真的想年龄值存储在一个字节大小整数(而不是半字):
unsigned char ageValue = 0;
unsigned short inputValue = 0;
cout << "What is your age?" << endl;
cin >> inputValue;
ageValue = static_cast<unsigned char>(inputValue);
cout << "Your age is " << static_cast<unsigned short>(agevalue) << endl;
你应该经常检查你的输入是否成功,例如'if(std :: cin >> agevalue){do_something_with(agevalue); }'第一个'std :: endl'肯定是不必要的,并且使用''\ n''来避免重复刷新。 –