C语言中=&与&=的区别

RT
2025-03-07 04:02:45
推荐回答(4个)
回答1:

&=是复合运算符,是将右值以二进制位与左值按位相与,并将结果存于左值。如
int a = 1,b = 2;
a &= b; // 结果是1

=&是两个独立的运算符,=赋值运算,&取变量地址。比如
int a = 3;
int *p = &a;
*p = 5; // 改变a的值为5

回答2:

a=&b
a的值将被赋值为b的地址 这里&是取地址符
a&=b
这里&=是一个整体的运算符
相当于a=a&b
即a将被赋值为a&b的结果

回答3:

回答4:

见过&=..没见过=&。。。