我有以下代码给出奇怪的输出
#include<stdio.h>
void main()
{
float a, x;
a=6.7;
if(a==6.7)
printf("1\n");
else
printf("2\n");
x=8.5;
if(x==8.5)
printf("1\n");
else
printf("2\n");
}
输出
$ ./a.out
2
1
如果我在 if 条件下给数字加上 f 例如“6.7f”,那么我得到正确的输出,我不明白为什么会出现这种奇怪的行为?