不能直接使用==来比较浮点型,因为本来存的就不精确。
设定一个精度,在精度范围以内都可以认为是相等的。
一个例子:
#include #define Precious 0.0001 // 精度int main(){float f=0.00001;if(f-Precious) printf("=0\n");return 0;}
用abs(x) < 0.00001等,只能近似
用if(!x){} x为0则执行{}里面的内容,不为0则跳过{}里面的内容继续往下执行