我的代码是
void main()
{
float a = 0.7;
if (a < 0.7)
printf("c");
else
printf("c++");
}
它打印出 C
,这是正确的,因为a
被视为双精度常量值,其值为0.699999
,小于0.7
。
现在,如果我将a
中的值更改为0.1,0.2,0.3
直到0.9
,并且在if条件
中也进行更改,则除了0.7和0.9
之外,它打印出C ++
,即两者相等或a
大于0.9
。
为什么不考虑所有值?