本帖最后由 Wuya 于 2012-9-23 21:03 编辑
190192641 发表于 2012-9-17 08:53
答案不满意
我知道怎么样才对
我要知道的是这样是怎么错的
我们先从 float 说起。C 标准规定,float 型浮点数至少能表示6位有效数字。
在默认情况下,格式控制符 "%f" 会取变量的6位小数,尽管你已经声明变量 a = 234.89,但是
printf 函数打印 a 的值受 "%f" 格式符控制,因此输出 a 的值为 234.889999。
为什么是 234.889999,而不是234.890000或者其它?
这与你所使用的具体计算机操作系统(32位或64位)有关。
另外,float 型数值都是实际值的近似,换句话说,它不能像 int 型数值那样能表示切确的值。
如果你还想进一步了解,你首先要去了解什么是计算机科学。
然后继续追问,相信你会找到满意的答案! |