在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;
}
這三種方法都可以實現交換兩個數的值,但是第三種方法使用了異或操作,效率相對較高。