在C中,这句话的作用是什么?
*p1 ^= *p2;
p1
和p2
是指向char数组的两个不同地址的char指针。我知道^
运算符是XOR。
答案 0 :(得分:2)
答案 1 :(得分:1)
此
*p1 ^= *p2;
是具有按位异或运算符的复合赋值运算符,
它是此表达式语句的替代
*p1 = *p1 ^ *p2;
答案 2 :(得分:0)
在^
变量上应用char
时,只需将其视为int
。
define VALUE 11
char c = VALUE;
int i = VALUE;
因为您可以认为c
或i
的值在内存中相同。
答案 3 :(得分:0)
按位异或运算符(^)将其第一个操作数的每个位与其第二个操作数的相应位进行比较。如果一位为0而另一位为1,则相应的结果位设置为1.否则,相应的结果位设置为0。 按位异或运算符的两个操作数必须是整数类型。算术转换中涵盖的常规算术转换应用于操作数。