[单选题]若有以下标志符定义:char c=’c’;int a=4;float f=3.14;double d=1.212;则表达式c+a/(int)d+f的结果类型是(   )

A

float

B

char

C

int

D

double

正确答案:D
题目解析

当不同类型的量进行混合算术运算时,系统自动进行合理的类型转换,编译器就会自动把低级类型向高级类型转换。数据类型级别由低到高分别为:char→int→float→double。转换时由低级别向高级别转换。会自动提升为参与表达式求值的最上级类型double。故本题选D。

也可以在程序中使用强制类型转换运算符:static_cast或const_cast。

扫描二维码
免费搜题、免费刷题、免费查看解析