a-=a的意思为a=a-a,先用a减a,然后再将得到的结果赋值给a。-=实际上是一种缩写形式,使得对变量的改变更为简洁。
运算时,可以将其写成熟悉的形式,从右向左依次计算,注意在每次计算时,变量的值会发生改变, 如不注意,就会导致错误的情况发生。
扩展资料:
复合赋值运算符有下列这些:
符号 功能
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 模运算赋值
<<= 左移赋值
>>= 右移赋值
&= 位逻辑与赋值
|= 位逻辑或赋值
^= 位逻辑异或赋值
参考资料来源:百度百科-复合赋值运算符
前者是先运算再付值。后者是先付值再运算。比如说C
=--a
.当a
等于5时,C
等于4,是先把五减去一再付的值。当C
=a
--时,同样a
被赋值为五,C
的结果就为五,是先付的值,
但是,两式最后的a
都为四
在C语言中a-=b+c应该是a=a-(b+c)
-=的意思:
1、 -=是C语言中的一个复合运算符。
2、 -=为双目运算, 形式为:A-=B表示含义为:A=A-B
C语言中复合赋值运算符 :
1、<<= 的意思是左移等。a<<=b其实就是a=a<<b.
2、 >>= 的意思是右移等。a>>=b其实就是a=a>>b.
3、&= 的意思是与等。a&=b其实就是a=a&b.