我試圖用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