不知道有没有人和我一样遇到过这样一个问题,请看下面代码。
#include
a=,b=,c= (a+b== cout<<<< } cout<<<< }
这段代码在 VS 2012上面执行是 输出 没哦 的,也就是说里面的 2.3+1.9居然不等于4.2。
当时遇到也是百思不等其解
后来断点测试显示,在if处的a和b 的值 居然变了,增加了小数点后7~8位
解决方法是 加入 fabs函数,就可以了,0.0001是误差的范围,可以自己斟酌定义。最好用系统的 DBL_MIN,这个是最小的
#include
a=,c= (fabs((a+b)-)< cout<<<< } cout<<<< }