a+=a-=a*a是一个连续赋值运算,计算顺序是自右至左的。<br>如果int a=2;<br>a+=a-=a*a;<br>相当于:<br>1.a-=a*a;<br>2.a+=a;<br><br>然后相当于:<br><br>1.a=a-a*a;<br>2.a=a+a;<br>由于a初始化为2:<br><br>1.a=a-a*a=2-2*2=-2;<br><br>2.a=a+a=-2+(-2)==-4;<br><br>所以最后结果就是-4。<br><br><img src="https://pic.wenwen.soso.com/pqpic/wenwenpic/0/20200728060042-1810362701_png_453_266_14911/0"/><br><br>扩展资料<br>C语言中提供常用赋值运算符:等号运算符。<br>1.计算赋值运算符右侧表达式的值。(“=”为赋值运算符)<br>2.将赋值运算符右侧表达式的值赋给左侧的变量。<br>3.将赋值运算符左侧的变量的值作为表达式的值。<br>赋值表达式是类似这样的句子:a=5 注意后边没有分号, a=5; 这就是一个赋值语句了。<br>赋值表达式的结果是最左边的赋值运算符(最左边的等号)左边的变量(或者表达式)的值。<br>赋值运算符的优先级和结合性<br>1.优先级较低,只比逗号运算符高。<br>2.从右向左结合。<br>例如:x=y=3 就相当于 x=(y=3) 结果都为3