对于语句a+=a-=a*a中间的等号(赋值运算符)的理解

来源:百度知道 编辑:UC知道 时间:2024/06/22 19:33:34
对于a+=a-=a*a,我知道是应该理解为:a+=(a-=(a*a)),但是为什么呢,对于运算符的结合性(只讨论+++与=)又是怎么?请指教

对于赋值语句,总是把右边的结果赋给左边,如果右边还是赋值语句,那就递归!对于运算,如果优先级相同,就是从左往右的顺序,否则优先级高的先计算

很简单,因为C++里面的赋值运算符是把等号右边的值赋给左边,所以要从右边开始算起,往回推。

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

算数运算符优先级高于组合赋值运算符,组合赋值运算法的结合性为从右往左,所以先计算*再计算-=再计算+=。