C语言的一道小计算题

来源:百度知道 编辑:UC知道 时间:2024/06/30 15:49:16
a=12;

a+=a-=a*a 求a=? 我知道答案=-264

但我不知道怎么得出来的 谁能给我一步一步解释下?

呵呵 其实很简单啦 你首先要知道 他们的优先级
这个等式你肯定要1:先算后面的a*a这点应该知道吧 这不算出来是144
而后2: 执行a-=144;这步相当于算a=a-144;结果是a=-132;
3:从上面的结果已经算的是a=-132;这部是关键哈最后这部算a+=-132;结果相当于算a=a+=-132;<这里a=-132了哈> 结果自然就是-264了哦
不知道我是不是说的太啰嗦了 ……(*^__^*) 嘻嘻……希望你看懂了吧
如果还是不知道为什么要先算那步这步的 最好是看看书上说的优先级哈

因为a+=a-=a*a,它的计算顺序是从右到左
即先计算a*a,故得出的结果是144,因为a的值还是12。
其次,是计算a-=144
因为此时的a的值还没变,即a=a-144,故,得到a的值是-132
最后啊,就计算a+=-132,即a=a+132,故a=-264.

能明白么?不明白的话可以直接找我:)

首先是计算步骤:
1.a=a-a*a=12-144=--132
2.a=a+a=-264