c语言中3*5/2和3/2*5等价吗?为什么?

日期:2021-11-03 17:19:05 人气:1

c语言中3*5/2和3/2*5等价吗?为什么?

不等价,因为整型常量在运算时除不尽时是向下取整的,比如:3/2=1,而不是等于1.5,这是计算机的差别,要得到正确结果,必须把整型数转换成精度型的,比如乘以一个1.0,那么结果就正确了,比如:3*1.0/2*5,这样的结果就是正确的,上面两个式子的结果一个是7,一个是5,就是这个原因
    A+
热门评论