设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型是什么,多谢各位大

 我来答
有君容小洁4371
2020-02-18 · TA获得超过453个赞
知道小有建树答主
回答量:243
采纳率:96%
帮助的人:60.4万
展开全部

表达式结果是双精度类型。

在C语言中,若参与运算量的类型不同,则先转换成同一类型,然后进行运算。转换按数据长度增加的方向进行,以保证精度不降低。

因此,在表达式中,10+'a'+i*f,当10+'a'时,'a'字符型会自动转换为整型,i*f运算时自动转换为双精度类型,10+'a'+i*f表达式结果自动转换为双精度类型。

扩展资料:

自动类型转换的相关规则:

1、所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

2、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分直接舍去。

3、执行算术运算时,低类型(短字节)可以转换为高类型(长字节);例如: int型转换成double型,char型转换成int型等等。

参考资料来源:百度百科-强制类型转换

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式