1

次のコード: `

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

9 より大きい値を切り取り、最初の数値のみを残します。この理由は何ですか?

4

3 に答える 3

5

整数ではなく文字を読み取っているためです。

于 2013-09-25T14:23:36.950 に答える
0

数値を取得する場合は、正しいデータ型を使用する必要があります。

unsigned short ageValue = 0;
cout << "What is your age?" << endl;
cin >> ageValue;
cout << "Your age is " << agevalue << endl;

age 値を (ハーフワードではなく) バイトサイズの整数で格納したい場合:

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;
于 2013-09-25T14:27:41.133 に答える