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

 我来答
嬴越柯鹏
游戏玩家

2019-12-24 · 游戏我都懂点儿,问我就对了
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:790万
展开全部
不等价,因为整型常量在运算时除不尽时是向下取整的,比如:3/2=1,而不是等于1.5,这是计算机的差别,要得到正确结果,必须把整型数转换成精度型的,比如乘以一个1.0,那么结果就正确了,比如:3*1.0/2*5,这样的结果就是正确的,上面两个式子的结果一个是7,一个是5,就是这个原因
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扈浩皛实怀
2019-09-14 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:26%
帮助的人:781万
展开全部
-3在进行%时,自动被转为正3
%运算时候,如果前面一个数字式负数,则答案为负数,后面一个为负数,忽略不计,而答案的绝对值为fabs(a)%fabs(b),例子:(-5)%(-3)=-5%(-3)=-2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式