我使用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显示不同的结果?
我怀疑这只是一个特性,如何存储一个浮点数,以及它如何近似为一个整数。 –