看你最后的取值类型是什么?
#include
int main()
{
int a=3+9.0;
double a1=3+9.0;
printf("%d\n",a);
printf("%lf\n",a1);
}
是12.0。
原因是,double(含float)有较int(char)有更宽的表示范围,所以int类型与double(或float)类型混合运算时,首先将int(或char)转换为double(或float)类型再进行运算,且运算结果为double(或float)类型。
整数与浮点数一起运算, 结果将会是浮点数