//需要传指针才能改变实参
void swap1(int* x, int* y) {
int temp;
temp = *x;
*x = *y;
*y = temp;
}
void swap2(int* x, int* y) { //两个相同的数异或为0,任何数异或0还是它本身
*x = *x ^ *y;
*y = *x ^ *y; //此时*y = (*x ^ *y) ^ *y = *x ^ 0 = *x
*x = *x ^ *y; //此时*x = (*x ^ *y) ^ *x = (*x ^ *x) ^ *y = *y ^ 0 = *y
}