为了账号安全,请及时绑定邮箱和手机立即绑定

这运行结果不一样,为什么?

这运行结果不一样,为什么?

XZ亮 2017-07-30 20:42:22
int a=2;int b=3;int sum=a+b;                         double avg=sum/2;avg运行结果为:2.0可是int a=2;int b=3;double sum=a+b;                         double avg=sum/2;avg运行结果为:2.5为防止以后出现计算错误,求老师指教、详解。谢谢。
查看完整描述

3 回答

已采纳
?
言曌博客liuyanzhao_com

TA贡献164条经验 获得超116个赞

int 类型 /2 = int 类型

所以第一个sum是整形, 5/2 = 2 然后赋值给 double 类型的 avg 2.000000

第二个 sum 是浮点型,5.000000/2=2.500000

查看完整回答
反对 回复 2017-07-30
?
我吃炸土豆

TA贡献3条经验 获得超0个赞

数据类型的隐式转换

查看完整回答
反对 回复 2017-07-31
  • XZ亮
    XZ亮
    谢谢老师 给目前新手的我还没了解到的新概念。
  • 我吃炸土豆
    我吃炸土豆
    不用这么客气,互相学习。这是很基本的概念,应该很快会学到。
?
劲哥哥

TA贡献5条经验 获得超2个赞

第一个5/2结果为整型的2,转为浮点型就是2.0;第二个整型5转为浮点型就是5.0,5.0/2就是浮点型的2.5

查看完整回答
反对 回复 2017-07-30
  • 3 回答
  • 0 关注
  • 1376 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信