【发布时间】:2020-12-17 08:39:34
【问题描述】:
对于浮点值,输出为“okNOT OK”,应该显示“okOK”。但是对于其他数据类型,它工作正常。为什么会这样?
#include<stdio.h>
int main()
{
float a=0.5, b=0.7;
if(a==0.5)
printf("ok");
else
printf("not ok");
if(b==0.7)
printf("OK");
else
printf("NOT OK");
return 0;
}
【问题讨论】:
-
不建议对浮点值进行相等比较。使用公差。