已知char a=’a’;float b=2.3;double c=41;int d;则执行语句d=a+b+c;后变量d的数据类型为

求详解,谢谢... 求详解,谢谢 展开
 我来答
cnyujill
2013-09-17 · 超过17用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:37.1万
展开全部
问法有点问题,如果问d的数据类型,肯定是int啊,因为你是这么申明的。如果问 a+b+c是什么类型,答案是double,因为double的精度在里面是最高的。值得注意的是java里(你的例子应该是java吧),小数是双精度的,比如 2.0 + 3, 结果就是double类型的。

顺便说一下,在java里 float b = 2.3; 是会报错的,因为你把一个double赋值给float,所以要么 float b = 2.3f; 要么 float b = (float)2.3;
khlerc
2013-09-16 · TA获得超过420个赞
知道小有建树答主
回答量:485
采纳率:0%
帮助的人:270万
展开全部
int
因为再怎么赋值再怎么变,他的申明就是int,所以他就是int类型。
追问
我觉得应该是double型
我们可以很快排除A,B两个选项,字符型变量运算时是用其ASCⅡ码值,与float型数据进行运算后,结果为float型;
然后float型数据与double型数据运算,考虑到不丧失精度问题,那么运算后的数据类型就是float l了!
(我知道这个答案前后不一致,但它过程有道理吗)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式