设a=13,b=17.进行这两个值的交换,不用第三方变量创建
通常情况下,我们需要设一个变量temp
1. int temp=a; 2. a=b; 3. b=temp;
巧用异或运算也可以实现
以下就是三步方法就可以完成任务
1.a=a^b 2.b=a^b 3.a=a^b
这是为什么呢,就要说到异或运算的特性了
1.N^0=N;
2.N^N=0;
3.一组数无论互相做何种顺序的异或运算结果都一样
利用这三个特性就能完成值的互换
设a=甲,b=乙。
那么带入式子就得到以下结果
a=甲^乙;
b=甲^乙^乙=甲^0=甲;这样原本等于乙的b变成甲了
a=甲^乙^甲=乙^0=乙;因为特性3所以就像加法交换律一样,这样a就等于乙了