C语言中,(int)((doubie)(5/2+2.5))等于5还是4?

 我来答
fanbih
2011-03-25
知道答主
回答量:19
采纳率:0%
帮助的人:10.7万
展开全部
4
原因,在执行5/2的时候默认是整数相处得到2.5,但是整数不能有小数,就是2,接着2+2.5=4.5,在强制转换成int的时候就成了4了
想得到5的话可以改成 5/2.0,这样默认的就是double了
更多追问追答
追问
那不是在得到4.5后强制转换成int型时要四舍五入吗?那不就是5了么?
追答
在计算机里面没有四舍五入的说法,它只会把不要的截掉
如果是0.9999999换成int的话还是0
wuyanlengyu
2011-03-25
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
应该是4
5/2 默认的是整型,得到的还是整型 结果为2,加上2.5,为int整型与double运算 结果为double型 所以为 4.5;最后强制转换成int型 向下取整 所以结果为4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谁来侍侍堂d
2011-03-25 · TA获得超过109个赞
知道答主
回答量:47
采纳率:0%
帮助的人:48.6万
展开全部
5/2 由于两个都是整数 所以得到的是2 然后在加上2 得到4 经过double 转化成 双精度浮点型 在经过 int 转化成 整形 所以最终得到的是4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式