在C语言中,可以使用三种方法来交换两个数的值:
方法一:使用第三个变量
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
方法二:使用加法和减法
void swap(int* a, int* b) {
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}
方法三:使用异或操作
void swap(int* a, int* b) {
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
这三种方法都可以实现交换两个数的值,但是第三种方法使用了异或操作,效率相对较高。