两种方法:
- 加减法
- 异或运算
#include<stdio.h>
void exchangeAdd(int a, int b);
void exchangeXOR(int a, int b);
int main() {
int a = 3, b = 5;
exchangeAdd(a, b);
exchangeXOR(a, b);
}
// 加减法
void exchangeAdd(int a, int b) {
a = a - b;
b = a + b;
a = b - a;
printf("exchangeAdd a = %d, b = %d \n", a, b);
}
// 异或运算 相同为 0 ,不同为 1 ,二进制运算
void exchangeXOR(int a, int b) {
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("exchangeXOR a = %d, b = %d \n", a, b);
}