#include <stdio.h>
//主函数
int main( )
{
float a =1.2;
double b =1.3;
int c=2;
char d ='a';
//6. 字符 单精度
printf("%f\n",d+a);
printf("%d\n",sizeof(d+a));
//7. 字符 双精度
printf("%f\n",d+b);
printf("%d\n",sizeof(d+b));
return 0;
}
6结果为98.199997 错误
7结果为98.300000 正确
为什么呢?计算结果也没有超出单精度的取值范围呀?
如果我不把值放在变量里面直接用常量计算,结果又正确的