#include <stdio.h>
// 交换两个数据(测试暂无问题)
void swap(int *a,int *b)
{
if(a != b) // 避免传输a与b地址相同
{
*a = *a ^ *b;
*b = *a ^ *b;
*a = *a ^ *b;
}
}
int main(int argc, const char *argv[])
{
int a = 10;
int b = 45;
swap(&a,&b);
printf("a = %d, b = %d\n", a, b);
return 0;
}
mark: 经过大牛测试,其实采取中间变量的交换方式执行效率更高一些!