C语言:有定义语句char a;int b;float c;double d;

有定义语句char a;int b;float c;double d;
执行表达式a/b-c*d后其值得数据类型为(),是什么类型,字符型,整型,浮点型,还是double型?求教

首先,在C中,数据之间的运算必须是同类型的才能进行运算。如果类型不一致,就必须先转换成相同的类型----------由低级别 → 高级别转换。

数据类型级别由低到高分别为:char→int→float→double。转换时由低级别向高级别转换。

本题中,数据类型分别为:char型、int型、float型和double型。
按照转换规则,就要先char转换为doubl型(因为double级别比char高),int 型转为double型 ,float型转为double型, 即全部转为 double型 再进行运算。 所以,最后的数据类型是double型 。

【注意】不能理解为:先将char转换成int,再转换成floatd,再转换成double。

希望对您有所帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-30
都变成了double型的