题目:
编写一个函数,不用临时变量,直接交换两个数。
分析:
这是位运算异或的典型应用,已经上了百度百科。
对两个数进行三次异或就可以。
package cci.section17;
public class CCI_17_1 {
public static void swap(int a, int b){
a = a ^ b;
b = a ^ b;
a = a ^ b;
//直接在这里输出,因为Java参数是值传递
System.out.println(a);
System.out.println(b);
}
public static void main(String[] args){
swap( 1, 2);
}
}