[問題] long long int
遇到的問題: (題意請描述清楚)
#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
10/03 01:24, 1F
推
10/03 01:27, , 2F
10/03 01:27, 2F
→
10/03 01:27, , 3F
10/03 01:27, 3F
呃…
換成%I64d 就可以了
感謝。
※ 編輯: secondsee 來自: 61.62.247.59 (10/03 01:33)
→
10/03 02:14, , 4F
10/03 02:14, 4F
→
10/03 03:27, , 5F
10/03 03:27, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章