#每日一题:浅谈交换两个数的几种方法#
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;
}
当指针a和指针b指向同一个内存时,无论它们共同指向地址是什么数值,最后都将被赋予0