#include<stdio.h>
int main()
{ float a=1.3;
if(a==1.3){printf("yes");}
else{printf("no");}
}
运行结果是no,与期望值yes不同,不需要改进建议就是问问这有什么逻辑问题
#include<stdio.h>
int main()
{ float a=1.3;
if(a==1.3){printf("yes");}
else{printf("no");}
}
运行结果是no,与期望值yes不同,不需要改进建议就是问问这有什么逻辑问题
浮点数存储是不精确的,实际存储的可能是类似1.3000000001或1.29999999999999这样的值,浮点数尽量做差比较,只要差的绝对值小于一个很小的数(如1e-6即0.000001)就可认为相等,不要用相等判断