第1个回答 2012-05-15
浮点数保存的是一个近似值,实际上微积分告诉我们17.79 9循环等于17.8~
你可以指定小数点位数:
#include<stdio.h>
main()
{
float a;
scanf("%f",&a);
printf("%.1f\n",a);//这里改动
}
-----------------------
D:\>gcc fudian.c
D:\>a
17.9
17.9
D:\>a
17.8
17.8
D:\>
第2个回答 2012-05-15
可以使用double型变量
第3个回答 2012-05-15
莫太纠结这个问题了 有时候计算机不同 结果就不同 正常的
第4个回答 2012-05-15
简单的说:no,计算机会用一串二进制无线逼近你这个数,有时候会差那么一点点,其实这一点点也不存在,因为就是相等!