C语言中赋值运算符&=的含义
2018-11-18 · 知道合伙人教育行家
a+=b 等同于 a = a+b
a-=b 等同于 a = a-b
a*=b 等同于 a = a*b
a/=b 等同于 a = a/b
a%=b 等同于 a = a%b
a&=b 等同于 a = a&b &表示按位与
a>>=b 等同于 a = a>>b >>表示右移
a<<=b 等同于 a = a<<b <<表示左移
a|=b 等同于 a = a|b |表示按位或
a^=b 等同于 a = a^b ^表示按位异或
基本的赋值运算符是“=”。他的优先级别低于其他的运算符,所以对该运算符往往最后读取。
一开始可能会以为它是“等于”,其实不是的。它的作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。
所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们现在是用变量作左值,以后还可以看到,指针和引用也可以作左值。
复合的赋值运算符,又称为带有运算的赋值运算符,也叫赋值缩写。
例如:i=i+j;可表示为 i+=j;这里+=是复合赋值运算符。
同样的共有10种这样的运算符,它们是:
+= 加赋值;
-= 减赋值;
*= 乘赋值;
/= 除赋值;
%= 求余赋值;
&= 按位与赋值;
| = 按位或赋值;
^= 按位异或赋值;
<<= 左移位赋值;
>>= 右移位赋值。
例如说
x
+=
b;
其运算就是
x
=
x
+
b
;
x
-=
b;
其运算就是
x
=
x
-
b
;
x
*=
b;
其运算就是
x
=
x
*
b
;
x
/=
b;
其运算就是
x
=
x
/
b
;
x
%=
b;
其运算就是
x
=
x
%
b
;
说白了就是那种类型运算的简写。。。。。
类似的还有:a+=b,a-=b.a*=b,a/=b,a<<=b,a>>=b,a^=b,a|=b,a%=b,跟上面的意思一样。
你尽管放心我的答案吧,我是照着教科书写的。