在编程中,有几种方法可以不用第三个变量交换两个数。以下是两种常见的方法:使用加减法和使用位运算。

使用加减法

int a = 5;
int b = 10;

// 交换 a 和 b
a = a + b; // a 现在是 15 (5 + 10)
b = a - b; // b 现在是 5 (15 - 10)
a = a - b; // a 现在是 10 (15 - 5)

// 现在 a 是 10,b 是 5

使用位运算

int a = 5;
int b = 10;

// 交换 a 和 b
a = a ^ b; // a 现在是 15 (5 ^ 10)
b = a ^ b; // b 现在是 5 (15 ^ 10)
a = a ^ b; // a 现在是 10 (15 ^ 5)

// 现在 a 是 10,b 是 5

这两种方法都能在不使用第三个变量的情况下交换两个数的值。加减法利用的是加法和减法的逆运算,而位运算方法则利用的是异或运算的性质。