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

正在回答

3 回答

26.0是double型,26是int型。

正确的答案是int avg=(int)sum/4;需要强制转换才可以,因为 int 型的存储范围比 double 型的小。

0 回复 有任何疑惑可以回复我~
#1

希苏米 提问者

非常感谢!
2017-03-05 回复 有任何疑惑可以回复我~
#2

攻城狮小敏 回复 希苏米 提问者

嘿嘿,木事木事
2017-03-05 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//58bbdac40001dc9f04500556.jpg

我用eclipse编译,如果写的是int avg=sum/4;它就会报错,因为double的存储空间比int长,而且int只能存储整数,所以在这里你不能用int,除非你sum/4的结果是整数。

1 回复 有任何疑惑可以回复我~

因为你已经定义了avg的类型是int,所以结果出来是26,不是26.0,26和26.0从数学角度讲大小是一样的,但在计算机看来,它俩的类型是不一样的,存储的空间大小也不一样。

1 回复 有任何疑惑可以回复我~
#1

希苏米 提问者

那为什么"sum/4"后出来的不是int的26,而是double的26.0呢?
2017-03-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

26.0和26不是一样的嘛

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信