[問題] long long int

看板C_and_CPP (C/C++)作者 (漂流木)時間15年前 (2010/10/03 01:18), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
遇到的問題: (題意請描述清楚) #include <stdio.h> #include <stdlib.h> main() { long long int num; num = (long long int)2147483647LL; printf("%lld",++num); system("pause"); } 希望得到的正確結果: +2147483648 程式跑出來的錯誤結果: -2147483648 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Dev-C++ ----------------------------------------------------------------------- 我有看過sizeof(long long int)的值 跑出來是8 照理說不是可以跑到 2^64-1 嗎? 怎麼提前溢位了呢= = 煩請各位糾正 感謝啦~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.247.59

10/03 01:24, , 1F
vs2005跑出來是正確的。
10/03 01:24, 1F

10/03 01:27, , 2F
本來想問%lld不行要不要試試%I64d, 可是看到Dev-C++, 又
10/03 01:27, 2F

10/03 01:27, , 3F
覺得問題不在這裡....Orz
10/03 01:27, 3F
呃… 換成%I64d 就可以了 感謝。 ※ 編輯: secondsee 來自: 61.62.247.59 (10/03 01:33)

10/03 02:14, , 4F
是 MinGW 的問題, 前陣子有人問過
10/03 02:14, 4F

10/03 03:27, , 5F
您該換編譯器了orz
10/03 03:27, 5F
文章代碼(AID): #1CfsbFQd (C_and_CPP)
文章代碼(AID): #1CfsbFQd (C_and_CPP)