SOGO論壇
標題:
有關整數範圍顯示問題
[列印本頁]
作者:
Shecil
時間:
2015-4-5 23:01:27
標題:
有關整數範圍顯示問題
本帖最後由 Shecil 於 2015-4-5 23:06 編輯
各位大大好:
我使用Dev c++寫了一段C語言程式碼:
主程式:
long int A, B;
while(scanf("%ld %ld", &A, &B) != EOF){
printf("A = %ld B = %ld\n",A,B);
}
編譯完成後我輸入: 1234 123456789012345
但是顯現出來的B值並不是123456789012345,A之值是正確的,難道是我輸入的整數範圍太大?(好吧,或許)
所以B就永遠無法顯示123456789012345?
我想知道B要如何才能夠正確顯示:123456789012345
作者:
dovahkiin
時間:
2015-5-1 22:18:53
我在 Linux 使用 GCC compiler 中驗證這段程式碼是無誤的. 可以正常顯示, 請確認 Dev C++ 對 long int 的最大範圍.
也可以先將輸入當成 string, 再用 atol() 將它轉成 long int.
作者:
dovahkiin
時間:
2015-5-1 22:23:44
建議 #include <limits.h> 確認 LONG_MAX 在 Dev C++ 最大值到底是多少 .
#include <limits.h>
printf("LONG_MAX = %ld\n", LONG_MAX);
參考看看囉 !
歡迎光臨 SOGO論壇 (https://oursogo.com/)
Powered by OURSOGO.COM