方式1:
使用第三个变量来互换:
int a=8,b=12,c=0;
c=a;
a=b;
b=c;
方式2:
使用加法(bug:可能会出现溢出):
int a=8,b=12;
a=a+b;
b=a-b;
a=a-b;
方式3:
使用异或运算(分析):
int a=8,b=12;
//0000 1000->a
//0000 1100->b
//0000 0100->b=a^b
b^=a;
//0000 1000->a
//0000 0100->b
//0000 1100->a=a^b
a^=b;
//0000 1100->a
//0000 0100->b
//0000 1000->b=b^a
b^=a;
使用第三个变量来互换:
int a=8,b=12,c=0;
c=a;
a=b;
b=c;
方式2:
使用加法(bug:可能会出现溢出):
int a=8,b=12;
a=a+b;
b=a-b;
a=a-b;
方式3:
使用异或运算(分析):
int a=8,b=12;
//0000 1000->a
//0000 1100->b
//0000 0100->b=a^b
b^=a;
//0000 1000->a
//0000 0100->b
//0000 1100->a=a^b
a^=b;
//0000 1100->a
//0000 0100->b
//0000 1000->b=b^a
b^=a;