
C语言中,(int)((doubie)(5/2+2.5))等于5还是4?
3个回答
展开全部
4
原因,在执行5/2的时候默认是整数相处得到2.5,但是整数不能有小数,就是2,接着2+2.5=4.5,在强制转换成int的时候就成了4了
想得到5的话可以改成 5/2.0,这样默认的就是double了
原因,在执行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
展开全部
应该是4
5/2 默认的是整型,得到的还是整型 结果为2,加上2.5,为int整型与double运算 结果为double型 所以为 4.5;最后强制转换成int型 向下取整 所以结果为4
5/2 默认的是整型,得到的还是整型 结果为2,加上2.5,为int整型与double运算 结果为double型 所以为 4.5;最后强制转换成int型 向下取整 所以结果为4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
5/2 由于两个都是整数 所以得到的是2 然后在加上2 得到4 经过double 转化成 双精度浮点型 在经过 int 转化成 整形 所以最终得到的是4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询