网上看到一个题目:如何不借助中间变量交换两个变量的值

平时做法

1
2
3
4
5
a = 10
b = 5
c = a
a = b
b = c

得出结果a=5,b=10。

接下来不借助c交换a和b的值

1
2
3
4
5
a = 10
b = 5
a = a+b //a=15,b=5
b = a-b //a=15,b=15-5=10
a = a-b //a=15-10=5,b=10

得出结果a=5,b=10。