1. 中间变量(最普遍、最广泛使用的交换方式):
这种方法很容易理解,就是创建temp中间变量,m把值给temp,n给m,temp将m的值给n,这样就实现了交换。
2. 加减运算(前提只能是数字,但如果两数本来就过大,两数相加时会有溢出风险)
因为这种方法需要运算,所有只能是数字,eg:m=8,n=2;第一步求出两数的和为10,传给m,再用总数减去n就是原来m的值,传给n,然后总数再减去原来m的值,得到原来n的值,传给m,实现交换。
3. 异或运算(前提只能是整数):
这种方法不常见到(但很重要、很猥琐、很魔幻,需铭记,是由于异或运算的强大,建议不太熟悉概念和特性的一定要去补补),这要先把数字转换成二进制
例如:m = 3 = 0011,n=4 = 0100
第一步:m^n异或结果:0011 ^ 0100 = 0111 = 7,赋给m
第二步:m^n异或结果:0111 ^ 0100 = 0011 = 3,赋给n
第三步:m^n异或结果:0111 ^ 0011 = 0100 = 4,赋给m
实现了 m n 交换