fly92 发表于 2014-10-14 21:26:11

mango[i++] += y;为什么不是 mango[i++] = mango[i++] + y;

本帖最后由 fly92 于 2014-10-14 21:27 编辑

昨天天看到C专家编程里面276页讲到mango += y;被当作
mango= mango + y; i++;而不是
mango = mango + y;
感到不理解,这是根据什么做出的判断?看了一下汇编的代码确实是编译成了这样,但是就是不理解为什么这样编译,这个问题想了一天也没搞懂,哪位大哥能帮忙解释一下啊?

fly92 发表于 2014-10-15 14:21:49

......

仰望天上的光 发表于 2014-10-15 17:40:57

(1)
mango += y;
等价于
mango += y;
++i;
(2)
mango[++i] += y;
等价于
++i;
mango += y;

fly92 发表于 2014-10-21 20:55:00

仰望天上的光 发表于 2014-10-15 17:40
(1)
mango += y;
等价于


我知道这样等价(因为看汇编代码就是编译成这样了),但是不知道为啥等价。

大个的糖果 发表于 2014-11-1 04:51:12

页: [1]
查看完整版本: mango[i++] += y;为什么不是 mango[i++] = mango[i++] + y;