這個題目有三種解法。
1這個題目,我們解決的思路是 搞乙個中間變數 來臨時儲存乙個變數的值;
我們這裡給下參考**:
1
2
3
4
5
6
7
8
9
10
11
public
class
test
}
執行輸出:
a=5,b=3
2 可以使用自加自減方法
public class zip
}
3 可以用運算子
public class zip
}
分析:
前兩個賦值語句:「a = a ^ b;」和「b = b ^ a;」相當於b = b ^ (a ^ b),而b ^ a ^ b等於a ^ b ^ b。b ^ b的結果為0,因為同乙個數與相向相^,結果必為0。因此b的值等於a ^ 0,即a,其值為2。
再執行第三個賦值語句:「a = a ^ b」。由於a的值等於(a ^ b),b的值等於(b ^ a ^ b),因此,相當於a = a ^ b ^ b ^ a ^ b,即a的值等於a ^ a ^ b ^ b ^ b,等於b。
兩個數交換值得實現
include using namespace std void f int m,int n void fun int m,int n int main 第乙個交換函式是利用的指標的方式,用這種方式直接從位址層面講原本a的位址指向了b,b的位址指向了a,從而實現了兩個數的交換 第二種方式是利用引用的...
C 系列 交換兩個數字
1.建立中間變數 這是最快也是最簡單的辦法,例如 include int main 2.呼叫函式交換兩個數的值 include void swap int p1,int p2 int main 3.用加減或乘除運算來交換 include int main 我這裡寫的是用加減法實現,很顯然成功了,乘除...
357,交換兩個數字的值
1,臨時變數實現 一般情況下交換兩個數字的值,我們都會使用乙個臨時變數,像下面這樣 private void swap int array,int i,int j 當然這段 非常簡單,哪怕是剛接觸過程式設計的同學也都能看的懂,我們今天要講的肯定不是上面這段 這麼簡單。那麼除了上面這種方法還有沒有其他...