3个回答
更多追问追答
追问
我算的也是13.7但是为啥跟楼上回答的不一样呢
追答
(a+b)/c就是整数运算,结果是2,由于z是浮点型,因此这个结果强制转换成浮点型,也就是2.0了。
sqrt((double)y)*1.2/c这步,应该是4.0开方=2.0,然后2.0*1.2/c,这里c也被强制转换成浮点型,因此就是2.0*1.2/2.0=1.2。没看出楼上为啥算出是2.0的。
最有的x没啥可说的,就是10.5。
最后相加就是2.0+1.2+10.5=13.7。
还有如果他的第2条里得到的是整数14,整数转成浮点数为啥就变成14.5了呢,转换有舍去的,没见过有添加的。
以上只是一点不成熟的建议,我也是初学。
展开全部
按照电脑的思维逻辑,答案应该是A。
存在一个数据对齐与取舍问题。
总之,绝对不是B【虽然B才是正确结果】。
原因:
整型数据的乘除运算自动取整。浮点数精确计算。化为值运算之后为2+2.0+10.5
再次进行加减运算,再次向整型数字强制转换 相当于 int(2+2+10.5) = 14
所以结果应当是A,
如果编译器默认将后面的数字转换为float类型,则结果为14.5 当前答案中没有正确答案
追问
好像有点问题
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打开IDE,动手输一遍。
追问
好主意
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询