//来自《C专家编程》中文版 p276
表达式:
mango[i++] += y ;
是被当做:
mango[i] = mango[i] + y ;
i++ ;
意为:先使用i当前的值,然后再使i自增
而不是:
mango[i++] = mango[i++] + y ;
举例子说明:(图片)
结果显示:(图片)
英文原版的作者的解析是:
++X 表示取x的地址,增加它的内容(内容加上1),然后把只放在寄存器中;
x++ 表示取x的地址,把它的值装入寄存器,然后增加内存中x的值。
/********************************华丽的分割线***********************************/
同样的道理,下列的表达式:
arr[ --j + i++ ] += -- y;
改写为:
--y;
--j;
arr[j+i] = arr[j+i] + y ;
i++;