不使用中间变量,交换int型的 a, b两个变量的值。

群中的题目,不过这样大众脸的题想必大家都见过,就看能玩出什么新花招:

//by ppchen 
 var a = 10, b = 2;
 a = a + b;
 b = a - b;
 a = a - b;
//by Mr.司马
 var a = 10000,b=245
a = a^b;
b = b^a;
a = a ^b;
//by cloudgamer 
var a = 33,b=44
a=[a,b]
b=a[0]
a=a[1]
//by Mr.司马
var a = 23,b=454;
a = {a:b,b:a};
b = a.b;
a = a.a;

评:1、2种解法是普遍解,只能交换数字,而3、4种则适用性更广。如果有什么好的答案也欢迎到群里交流。

原文地址:https://www.cnblogs.com/rubylouvre/p/1863118.html