我使用DEVC++ 4.9,在WinXP SP3(32位)上運行的,這裏是代碼:C中錯誤的雙重計算?
#include <stdio.h>
#include <stdlib.h>
main(int argc, char *argv[])
{
double value;
int i;
printf("Enter double: ");
scanf("%lf", &value);
i = value*100;
printf("double: %lf\n", value);
printf("int: %d\n", i);
system("PAUSE");
}
我已經進入不同的價值觀和這裏的結果:
測試1:
試驗2:
試驗3:
爲什麼測試1和測試2顯示不同的結果?
我懷疑這只是一個特性,如何存儲一個浮點數,以及它如何近似爲一個整數。 –