在线
客服

发布
需求

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

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

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
为防止以后出现计算错误,求老师指教、详解。谢谢。

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与2

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

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

使用道具 举报

数据类型的隐式转换

使用道具 举报

发新帖
国内首家创新型IT技术需求众包服务平台,软件需求就上天盟网! 立即登录 立即注册