不使用中间变量,交换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种则适用性更广。如果有什么好的答案也欢迎到群里交流。

你可能感兴趣的:(int)