📜  C |运营商|问题18

📅  最后修改于: 2021-05-28 05:42:47             🧑  作者: Mango

在C语言中,可以使用最小值交换两个整数
(A) 0个额外变量
(B) 1个额外变量
(C) 2个额外变量
(D) 4个额外变量答案: (A)
说明:我们可以使用按位XOR运算符’^’交换两个变量,而无需任何额外的变量。令X和Y为要交换的两个变量。接下来的步骤交换X和Y。

X = X ^ Y;
  Y = X ^ Y;
  X = X ^ Y;

参见http://en.wikipedia.org/wiki/XOR_swap_algorithm
这个问题的测验