关于C语言的问题!

谢谢... 谢谢 展开
 我来答
疯狂小鸟ZXD
高粉答主

2018-10-11 · 每个回答都超有意思的
知道大有可为答主
回答量:1.3万
采纳率:96%
帮助的人:3018万
展开全部

如图所示,结果为C,13.7。望采纳。。。。。。

更多追问追答
追问
我算的也是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了呢,转换有舍去的,没见过有添加的。
以上只是一点不成熟的建议,我也是初学。
法拉克的
2018-10-11 · TA获得超过1426个赞
知道小有建树答主
回答量:2097
采纳率:74%
帮助的人:139万
展开全部

按照电脑的思维逻辑,答案应该是A。

存在一个数据对齐与取舍问题。

总之,绝对不是B【虽然B才是正确结果】。

原因:

  1. 整型数据的乘除运算自动取整。浮点数精确计算。化为值运算之后为2+2.0+10.5

  2. 再次进行加减运算,再次向整型数字强制转换 相当于  int(2+2+10.5) = 14

  3. 所以结果应当是A,

  4. 如果编译器默认将后面的数字转换为float类型,则结果为14.5 当前答案中没有正确答案

追问
好像有点问题
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
软弱大汉纸i
2018-10-11 · 超过10用户采纳过TA的回答
知道答主
回答量:42
采纳率:80%
帮助的人:13.8万
展开全部

打开IDE,动手输一遍。

追问
好主意
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式