以下执行语句的结果是什么啊?

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:24:06
若有以下定义语句:char a; int b; float c;double d;则表达式a*b+d-c值的类型,并说出解法,谢谢!

是double
因为表达式中有不同的类型时,全部转为占用空间大的类型,再进行计算
char :1 byte
int :4 byte
float:4 byte
double:8 byte
所以为double类型

这里牵扯到一个C语言自动类型转换的问题
你应该知道char类型占1个字节
int类型占2个字节
float类型占4个字节
double类型占8个字节
C语言在必要的时候会自动的向高字节的类型转换。
这样表达式的结果肯定是double类型。