想起以前很容易就会被问到一个问题

如何把两个数值进行交换?

教科书式的编程怎么做?

1
2
3
4
5
6
7
8
9
int i = 1;
int j = 2;

int k = i;

i = j;
j = k;

// 两个数值,把其中一个寄存起来,然后再两次赋值。

以前去写代码的社团,当时我巨活跃,有个师兄就过来说:看你资质不错,我打算亲自培养你,先问你一个问题吧:你如何把两个数值进行交换?写不出代码没关系,我只是要听思路。

我:什么跟什么交换?

师兄:随便你。

于是我打开了sublime text写下这么些东西

1
2
3
4
5
6
7
var i = 1;
var j = 2;

i += j;
j = i - j;
i -= j;

然后师兄就懵了,你这个B不按套路出牌?