不使用第三个数将两个数交换的两种写法(异或、加减)
题目
现在有两个变量 a=10 b=20,请把两个数交换,且不使用第三个变量
加减法
a = a+b //a = 30
b = a-b //b=30-20=10
a = a-b //a=30-10=20
异或法
异或的基本知识: a ^ b ^ b = a 一个数异或两次另一个数还是等于自己本身
a = a^b
b = a^b //b= (a^b)^b = a
a = a^b //a= (a^b)^a = b
在开发的时候还是使用第三个变量来存储更容易懂
本文来自博客园,作者:HumorChen99,转载请注明原文链接:https://www.cnblogs.com/HumorChen/p/18039611