#每日一题:浅谈交换两个数的几种方法#
1. Question & Analysis
1. Question: 输入两个数,把它们交换后并输出;
2. Analysis: 我目前接触到的题目,有点点难度的就是不允许定义中间临时变量完成两
void swap_XOR(int* a, int* b) {
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
void swap_add(int* a, int* b) {
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;
}
void main() {
int a = 5, b = 2;
swap_XOR(&a, &a);
printf("%d %d\n", a, b);//输出0 2
swap_add(&b, &b);
printf("%d %d\n", a, b);//输出0 0
}