[問題] __int64
想請教版上的先進們
以下是我的程式碼
int void()
{
__int64 a = 100000000;
double b = 12.345;
printf("a:%lld, b:%.3f\n", a, b);
printf("a/b = %.0f\n", (double)a/b);
return 0;
}
這樣子的結果是
a:100000000, b:-19720246487332832000000.............0
a/b = 8100445
但是如果我程式改成先印 b
int void()
{
__int64 a = 100000000;
double b = 12.345;
printf("b:%.3f, a:%lld\n", b, a);
printf("a/b = %.0f\n", (double)a/b);
return 0;
}
這樣子的結果是
b:12.345, a:100000000
a/b = 8100445
我使用的的是 Dev-C++ 4.9.9.2
請問為什麼會有這樣子的差異?
我該怎麼修正才可以讓第一種方式正確的顯示嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.57.124
推
03/14 02:48, , 1F
03/14 02:48, 1F
→
03/14 06:38, , 2F
03/14 06:38, 2F
推
03/14 08:31, , 3F
03/14 08:31, 3F
推
03/14 09:35, , 4F
03/14 09:35, 4F
推
03/14 09:38, , 5F
03/14 09:38, 5F
→
03/14 12:48, , 6F
03/14 12:48, 6F
推
03/14 16:29, , 7F
03/14 16:29, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章