讓我們假設我有一個C腳本,並且聲明瞭一些unsigned int。然後,我編寫一個while循環,它會自動增加這些值並將其打印出來:在用戶將其從命令行中停下來之前沒有限制。一旦我達到非常高的數字(20億),計算機就從數百億開始計算。我怎樣才能防止這一點?看,我可以輕鬆地鍵入,比如說,「99999999999999」,而不會造成任何崩潰:爲什麼我不能在我的32位終端上執行此操作?我已經嘗試了很長很長的int,簽名和未簽名,但我仍然有這個問題。下面是截圖:http://img577.imageshack.us/img577/6558/schermata20110524a01012.pngsigned/unsigned int
感謝, J.
C不是一種腳本語言。 ;) – 2011-05-25 01:58:32
您可能正在使用未簽名的存儲,但您將其打印爲已簽名。如果您使用printf使用%u而不是%i或%d。 – ughoavgfhw 2011-05-25 02:01:34