以下哪个选项可以实现对
的交换效果?注意,^代表异或运算。对于二进制数,0 XOR 0 = 0、0 XOR 1 = 1、1 XOR 0 = 1、1 XOR 1 = 0。(*, *)
A.
(x, y): x ^= y ^= x ^= y;
B.
(a[x], a[y]): a[x] ^= a[y] ^= a[x] ^= a[y];
C.
(x, y): x -= y += x -= y;
D。
(a[x], a[y]): a[x] -= a[y] += a[x] -= a[y];
我发现C和D在逻辑上不正确。我猜 A 是正确的。但我不知道A和B有什么区别?
选项A使用XOR运算来交换x和y的值。 选项 B 使用对 数组元素进行 XOR 运算,获得与选项 A 相同的结果。