不使用第三个数将两个数交换的两种写法(异或、加减)

题目

现在有两个变量 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

在开发的时候还是使用第三个变量来存储更容易懂

posted @ 2021-05-22 23:08  HumorChen99  阅读(1)  评论(0编辑  收藏  举报  来源