作业帮 > 数学 > 作业

交换两个变量的值,不允许用临时变量,应该用下列哪个()位运算符 A.& B.^ C.|| D.~

来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/14 07:09:52
交换两个变量的值,不允许用临时变量,应该用下列哪个()位运算符 A.& B.^ C.|| D.~
交换两个变量的值,不允许用临时变量,应该用下列哪个()位运算符 A.& B.^ C.|| D.~
^异或
异或的运算法则如下
1 ^ 1 = 0
0 ^ 0 = 0
1 ^ 0 = 1
0 ^ 1 = 1
所以
令c = a ^ b

a ^ c = b
b ^ c = a
假设要交换 x y
令 y = x ^ y
此时x ^ y = 原始y
然后让x = x ^ y
此时x = 原始y
x ^ y = 原始y ^ y = 原始x
这时让y = x ^ y
此时y = 原始x,就完成交换.