今天讨论一个很简单的问题a=101,b=300不借助中间变量实现实现两个数结果的互换。
当得到这个问题的时候我一度想了很多种可能,先用比较笨的方法:
a=a*1000+b;
b=a/1000;
a=a%1000;
于是我高兴的说我完成了,让后朋友说如果该成10和30你还会这么些么。
于是一个比较牛的朋友给出了下面的这个答案:
a = a+b;
b = a-b;
a = a-b;
这就成了,可是出题的同学一度鄙视了我们俩一下,给出最终答案:
a=a^b;
b=b^a;
a=a^b;