+ -
当前位置:首页 → 问答吧 → 新人求教C语言问题,基础~~~

新人求教C语言问题,基础~~~

时间:2011-12-27

来源:互联网

请问:

  if (x == 1.1)


此语句编译课本上指为 运行时错误 ,解释为 用 == 或 != 测试两个浮点数是否相等,或者判断一个浮点数是否等于0



不解……个人在codeblocks上试过没发现什么错误……是不是测试错误?虽然知道判断数值大小可能会用到 x <= 1e-7 

求解释,谢谢

作者: everbelieve217   发布时间: 2011-12-27

浮点数 不能用 == != 来判断 本身不精确,在一个范围之内

作者: sunhuafeng521   发布时间: 2011-12-27

引用 1 楼 sunhuafeng521 的回复:
浮点数 不能用 == != 来判断 本身不精确,在一个范围之内


嗯,浮点数是近似值,比如 x = 3.200,这个 x 是不精确的

你把 x 定义为 int型就好了

作者: i945800687   发布时间: 2011-12-27