面试题:
交换两个变量的值
int a = 10;
int b = 20;
方案A:使用第三方变量(开发中使用)
int c = a;
a = b;
b = c;
方案B:用异或的特点实现(面试使用)
a = a ^ b;
b = a ^ b;//a ^ b ^ b = a
a = a ^ b;//a ^ b ^ a = b
方案C:用变量相加的方法
a = a + b;
b = a - b;
a = a - b;
方案D:
b = (a + b) - (a = b);