第四章 4.11.1节练习

练习4.34

根据本节给出的变量定义,说明在下面的表达式中将发生什么样的类型转换:

(a) if(fval)

(b) dval = fval + ival;

(c) dval + ival * cval;

需要注意每种运算符遵循的做结合律还是右结合律。

解答:

(a) float -> bool

(b) int ->float, float -> double

(c) char->int, int->double


练习4.35

假设有如下的定义,

char cval; int ival; unsigned int ui; float fval; double dval;

请回答在下面的表达式中发生了隐式类型转换吗?如果有,指出来。

(a) cval = 'a' + 3;

(b) fval = ui - ival * 1.0;

(c) fval = ui * fval;

(d) cval = ival + fval + dval;

解答:

(a) 没有,这个直接和字面常量相加。

(b) 有,uint -> double, double -> float 

(c)  有,uint ->float

(d)  有,float -> double, int -> double, double -> char


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值