鱼C论坛

 找回密码
 立即注册
查看: 1751|回复: 6

[已解决]c语言连续赋值的题

[复制链接]
头像被屏蔽
发表于 2021-11-22 17:16:28 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-22 17:16:29 | 显示全部楼层    本楼为最佳答案   
a-=a+=a*a;
这条语句就相当于顺序执行以下两条句:
a = a + a* a;
a = a - a;

其实分析到这儿,结果也就出来了:
a = a - a;
不论a取何值,a都等于零。

但是,咱们还是把a = 2;带入语句中看看:
1)a = a + a* a = 2+2*2 = 6;
2)a = a - a = 6 - 6 =0;
所以结果为零。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-22 19:02:55 | 显示全部楼层
任何数减本身都等于0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-22 19:12:35 | 显示全部楼层
本帖最后由 小鱼儿mxkk 于 2021-11-22 19:36 编辑

a-=a+=a*a;关于这一条语句,首先你要知道他是从右往左的,那么我们不妨先看看右边:a+=a*a,他的结果是什么呢?一定是a(请想一想,类似于a+=某某之类的语句,最后一定是将一个值赋给a对吧?),至于a的值是多少,我们其实不必关心,因为你应该已经发现了,再结合左边已经变成了a-=a(不要管a到底是多少!),结果不言而喻.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-24 15:07:26 From FishC Mobile | 显示全部楼层
a-=a+=a*a  a=2  a=2+2*2 a=6 a-=a a=6-6 a=0

评分

参与人数 1鱼币 +2 收起 理由
kiliop + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-24 15:14:57 From FishC Mobile | 显示全部楼层
不是-4是因为a已经变化过了 不是初始的2了也就是
a-=a+=a*a  ==  a=(a+a*a)-(a+a*a)
a-=a+=a*a  !=(不等于)  a=2-(a+a*a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-11-26 16:03:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-25 08:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表