问题
I am running this program. But getting strange result.
int main()
{
float a=.8;
if(a < .8)
printf("a is small\n");
else
printf("a is not small\n");
float b=.7;
if(b < .7)
printf("b is small\n");
else
printf("b is not small\n");
return 0;
}
It gives me output--
a is not small
b is small
回答1:
Why don't you use 0.7f. 0.7 Is by default double, so we cannot predict it's behaviour
来源:https://stackoverflow.com/questions/17500455/float-and-double-value-creating-confusion-in-c