我试图用unsigned int
cin
如下阅读:读“无符号整型”使用“CIN”
#include <limits.h>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
unsigned int number;
// UINT_MAX = 4294967295
cout << "Please enter a number between 0 and " << UINT_MAX << ":" << endl;
cin >> number;
// Check if the number is a valid unsigned integer
if ((number < 0) || ((unsigned int)number > UINT_MAX))
{
cout << "Invalid number." << endl;
return -1;
}
return 0;
}
但是,每当我进入比无符号整数(UINT_MAX
)的上限的值,该程序显示3435973836
。如何检查用户给出的输入是否在0
到UINT_MAX
之间?
'如果((数<0)||((无符号整数)数> UINT_MAX))'我不能甚至描述如何误导,这是。 – ildjarn 2012-03-05 22:09:08
也许从更简单的东西开始,绝对是一本好书。 – 2012-03-05 22:10:18
需要相当基本而又合理的问题。但很长时间来解释。 – Mysticial 2012-03-05 22:10:55