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。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网