练习4.34:根据本节给出的变量定义,说明在下面的表达式中将发生什么样的类型转换:
(a) if (fval) //flaot转换成bool类型
(b) dval = fval + ival;//fval + ival;ival转换成float ,它们的结果转换成double
(c) dval + ival * cval; //cval 转换成int,乘法结果转换成double
练习4.35:假设有如下的定义:
char cval; int ival; unsigned int ui;
float fval; double dval;
请回答在下面的表达式中发生了隐式类型转换吗?如果有,指出来。
(a) cval = ‘a’ + 3;
//int类型转换成char类型
(b) fval = ui – ival * 10;
//ival *10 int转换成unsigned类型,最后转换为float类型
(c) dval = ui * fval;
//float转换为unsigned,unsigned 转换为 double
(d) cval = ival + fval + dval;
//int 转换为float,float转换为double,最后double类型转换为char类型