交换前:a=3,b=5
交换后:a=5,b=3
思路:方法有很多种,但是哪种最好用呢?
int main()
{
int a = 3;
int b = 5;
//实用型:(执行效率高,日常推荐这种交换方法)
int tmp = 0;
tmp = a;
a = b;
b = tmp;
//加减法 (缺陷:如果ab的值很大,它们相加,可能会超出整型的值,导致数据丢失)=>(可能会溢出,而且效率不高,不推荐)
a = a + b;
b = a - b;
a = a - b;
//异或的方法 (不会溢出)(效率不高,不推荐)
//a 011
//b 101
a = a ^ b; //110=> a=> 6
b = a ^ b; //011=> b=> 3
a = a ^ b; //101=> a=> 5
return 0;
}