在判断浮点数相等时,因为计算机表达浮点数不能确切表示,所以在测试浮点数相等的时候不适用==。
通过一个例子证明
#include <stdio.h>
int main()
{
float a = 26.095;
printf("a = %f\n",a);
if(a == 26.095)
{printf("a == 26.095\n");}
else {printf("a != 26.095\n");}
return 0;
}
正确判断方法,使用fabs()这是取绝对值的函数
#include <stdio.h>
#include <math.h>
int main()
{
float a = 26.095;
printf("a = %f\n",a);
if(fabs(a - 26.095)<=0.0001)
{printf("a == 26.095\n");}
else {printf("a != 26.095\n");}
return 0;
}