c语言中a+= a-= a* a是什么意思?

如题所述

a+=a-=a*a是一个连续赋值运算,计算顺序是自右至左的。

如果int a=2;

a+=a-=a*a;

相当于:

1.a-=a*a;

2.a+=a;

然后相当于:

1.a=a-a*a;

2.a=a+a;

由于a初始化为2:

1.a=a-a*a=2-2*2=-2;

2.a=a+a=-2+(-2)==-4;

所以最后结果就是-4。

扩展资料

C语言中提供常用赋值运算符:等号运算符。

1.计算赋值运算符右侧表达式的值。(“=”为赋值运算符)

2.将赋值运算符右侧表达式的值赋给左侧的变量。

3.将赋值运算符左侧的变量的值作为表达式的值。

赋值表达式是类似这样的句子:a=5 注意后边没有分号, a=5; 这就是一个赋值语句了。

赋值表达式的结果是最左边的赋值运算符(最左边的等号)左边的变量(或者表达式)的值。

赋值运算符的优先级和结合性

1.优先级较低,只比逗号运算符高。

2.从右向左结合。

例如:x=y=3 就相当于 x=(y=3) 结果都为3

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜