int a=10;
int b=20;
//1
a += b;//a=30,b=20
b = a-b;//a=30,b=10;
a = a-b;//a=20,b=10
//2.异或
a ^= b;
b ^= a;
a ^= b;
printf("%d,%d\n",a,b);
技巧性强的代码,BUG隐藏深,最好还是用tmp
void Swap1(int *p1,int *p2)//不使用第三个变量交换数值,bug todo
{
*p1 += *p2;
*p2 = *p1 - *p2;
*p1 = *p1 - *p2;
}