C语言中赋值运算符&=的含义

2025-02-26 06:03:41
推荐回答(3个)
回答1:

  • 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<

  • a|=b  等同于 a = a|b   |表示按位或

  • a^=b  等同于 a = a^b   ^表示按位异或

  • 基本的赋值运算符是“=”。他的优先级别低于其他的运算符,所以对该运算符往往最后读取。

  • 一开始可能会以为它是“等于”,其实不是的。它的作用是将一个表达式的值赋给一个左值。一个表达式或者是一个左值,或者是一个右值。

  • 所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。我们现在是用变量作左值,以后还可以看到,指针和引用也可以作左值。

  • 复合的赋值运算符,又称为带有运算的赋值运算符,也叫赋值缩写。

  • 例如:i=i+j;可表示为 i+=j;这里+=是复合赋值运算符。

  • 同样的共有10种这样的运算符,它们是:

  • += 加赋值;

  • -= 减赋值;

  • *= 乘赋值;

  • /= 除赋值;

  • %= 求余赋值;

  • &= 按位与赋值;

  • | = 按位或赋值;

  • ^= 按位异或赋值;

  • <<= 左移位赋值;

  • >>= 右移位赋值。

回答2:

算术自反赋值运算符有加赋值(+=、双目中缀)、减赋值(-=、双目中缀)、乘赋值(*=、双目中缀)、除赋值(/=、双目中缀)、模赋值(%=、双目运算)。前一个运算对象必须是变量,后一个运算对象是表达式。运算规则是先计算右边表达式的值,再和左边变量进行相应的运算,然后将结果赋予左边的变量。
例如说
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
;
说白了就是那种类型运算的简写。。。。。

回答3:

a&=b的意思是a=a&b,a和b位运算相“与”后赋给a。
类似的还有:a+=b,a-=b.a*=b,a/=b,a<<=b,a>>=b,a^=b,a|=b,a%=b,跟上面的意思一样。
你尽管放心我的答案吧,我是照着教科书写的。