a-=a的意思为a=a-a,先用a减a,然后再将得到的结果赋值给a。-=实际上是一种缩写形式,使得对变量的改变更为简洁。
运算时,可以将其写成熟悉的形式,从右向左依次计算,注意在每次计算时,变量的值会发生改变, 如不注意,就会导致错误的情况发生。
扩展资料:
复合赋值运算符有下列这些:
符号 功能
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 模运算赋值
<<= 左移赋值
>>= 右移赋值
&= 位逻辑与赋值
|= 位逻辑或赋值
^= 位逻辑异或赋值
参考资料来源:百度百科-复合赋值运算符
前者是先运算再付值。后者是先付值再运算。比如说C
=--a
.当a
等于5时,C
等于4,是先把五减去一再付的值。当C
=a
--时,同样a
被赋值为五,C
的结果就为五,是先付的值,
但是,两式最后的a
都为四
首先要明白什么是表达式,还有变量。A是一个变量。 A++,++A都是A加了1. 比如A原来是1,执行了A++或++A后,A变量的值就是2了 至于A++和++A的区别主要是在表达式上的区别。++A是先执行了A加1后,参与表达式的计算。 A++是A先参与表达式的计算,后执行自加1. 比如: int a,ba=1//如果想把a的值1,付给b.那么,但又想使得a加1。就可以这么做 b=a++//++在a之后,先把a的值付给b,然后再本身加1 。这时候b=1,a=2了。 //如果还不懂的话。b=a++的意思 就是b=aa=a+1这两句意思 //而b=++a 就是 a=a+1b=a;的意思,是A+=A+A+1 优先级等于 A=A+(A+A+1)//A+=B 是 A=A+B 的简化 != 不等于,是条件运算符,用来判断真假的。 比如1!=2; 表达式的值就是假,也就是0; C语言很多式子都是简化的,这样虽然可以节省代码,却比较让人糊涂。