琪琪乖乖 发表于 2020-8-21 21:07:21

c语言求助

int a=12
a+=a-=a*a
这个要怎么计算呀
求大神讲解下

baige 发表于 2020-8-21 21:26:55

a = a-(a*a), 再a+=a;

baige 发表于 2020-8-21 21:29:37

a*a=144 , a = 12 然后 a = a-(a*a) = 12 - 144 = -132, 然后a += a = 2a = (-132)*2 = -264

小甲鱼的铁粉 发表于 2020-8-21 22:27:04

这个是从右往左看的
先看a-=a*a,就是 a = a - a*a
再看a+=a, 就是 a = a + a;

昨非 发表于 2020-8-22 23:19:23

运算符优先级问题嘛,总结如图:
https://s1.ax1x.com/2020/08/22/ddgryF.jpg
https://s1.ax1x.com/2020/08/22/ddgOYt.jpg

风过无痕1989 发表于 2020-8-23 00:11:04

昨非 发表于 2020-8-22 23:19
运算符优先级问题嘛,总结如图:

抢最佳?顺其自然吧,我回帖子不是为了这个最佳,而是在回复中,学习他人的先进算法,加深理解,帮助记忆。如此题,前面的朋友已经作了正确的回复,答案 -264 是正确的,我就不凑热闹了,回帖加个荣誉,得个积分,以便晋级

昨非 发表于 2020-8-23 08:50:17

风过无痕1989 发表于 2020-8-23 00:11
抢最佳?顺其自然吧,我回帖子不是为了这个最佳,而是在回复中,学习他人的先进算法,加深理解,帮助记忆 ...

是我有些功利了,但是不得不承认争最佳的过程 催生了更多等有用的知识解答和扩展(我除外),被你这么一说还挺惭愧的{:10_245:}

405794672 发表于 2020-8-23 14:15:54

基本从右先算,到左边。
页: [1]
查看完整版本: c语言求助