关于C语言数据类型转换的一个小问题,很简单哦!!

chara;intb;floatc;doubled;则表达式a*b+c-d值的类型是什么?请解释一下原理啊,谢谢... chara;intb;floatc;doubled; 则表达式a*b+c-d值的类型是什么? 请解释一下原理啊,谢谢 展开
 我来答
孝渺何永怡
2019-11-18 · TA获得超过3531个赞
知道大有可为答主
回答量:3152
采纳率:35%
帮助的人:199万
展开全部
数据类型转换有两种:
a强制类型转换,通过函数实现,如
charc='a';inti;i=int(a);//强制转换,但不会改变a本身的类型。
b自动类型转换,通过编译器自动实现,
不同类型的数据在一个表达式中会自动转换为最长的类型:
如你定义的chara;intb;floatc;doubled;
计算a*b+c-d时,按计算顺序说明类型转换:
1a*b//char类型的a转换为int类型的值,再和int类型的b相乘
2a*b+c//int类型的a*b转换为float类型值,再和float类型的c相加
3a*b+c-d//float类型的(a*b+c)转换为double类型的值,再和double类型的d相减
不考虑过程,最终表达式的值为最长类型(这里是double)的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式