題目:
編寫一個函數,不用臨時變量,直接交換兩個數。
分析:
這是位運算異或的典型應用,已經上了百度百科。
對兩個數進行三次異或就可以。
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);
}
}