c语言中复合位运算赋值(&=,|=,^=,>>=,<<=)表示什么意思?

c语言中复合位运算赋值(&=,|=,^=,>>=,<<=)表示什么意思?

位运算符与赋值运算符可以组成复合赋值运算符如 :&=, |=, >>=, <<=, ∧ =
和+=,-=,*=,/=类似.
即把左边值与右边值位运算之后赋值给左边变量.
例如 ,a & = b 相当于 a = a & b 。 a << =2 相当于 :a = a << 2 。

明白了没有呀?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-07
&=,按位与后赋值,变量&=表达式;  

|=,按位或后赋值,变量|=表达式;
^=,按位异或后赋值,变量^=表达式;
>>=,右移后赋值,变量>>=表达式;
<<=,左移后赋值,变量<<=表达式;

类似的还有,
/=,除后赋值,变量/=表达式; 
*=,乘后赋值,变量*=表达式; 
%=,取模后赋值,变量%=表达式; 
+=,加后赋值变量,+=表达式; 
-=,减后赋值变量,-=表达式;
这些是C/C++独有的复合赋值运算符,结合方向,从右向左。是一种缩写形式,使得对变量的改变更为简洁,更有效率。
第2个回答  2010-11-29
举个例子:
a+=5 相当于 a=a+5
即先进行运算再赋值
相似回答