1、普通的方法,使用乙個中間變數temp,可以使用引用
void swap(int &a,int &b)
}//輸出結果為:4
4、不使用中間變數,使用加減的方法
void swap(int *a,int *b){
*a = *a + *b;
*b = *a - *b;
*a = *a - *b;//以上三句等於 *a = *a + *b - (*a -*b);
5、不使用中間變數,使用乘除的方法
void swap(int a ,int b){
a = a*b;
b = a/b;
a = a/b;
總結:1)加減法、乘除法、異或法
2)使用中間變數(指標、引用)
3)當要求不使用指標,並且不使用中間變數時,只能使用異或法
4)當是浮點數時,不能使用異或法
5)當b為0時,不能使用乘除法
6)不使用中間變數,如何交換三個數??
void swap(int &a,int &b){
a ^= b;
b ^= a;
a ^= b;
int main(){
int a=1;b=2;c=3;
swap(a,b);
swap(b,c);
printf(...);
return 0;
不使用中間變數交換兩個數
在交換兩個數的值時,最經常使用的方法是借助於乙個中間變數來進行交換。temp a a b b temp 通過巧妙的加法與減法運算來實現兩個數的交換。a a b b a b a a b 使用位運算 異或 來交換兩個數。a a b b a b a a b 其正確性是因為異或運算滿足 交換律和 結合律。證...
不使用中間變數交換兩個數
在交換兩個數的值時,最經常使用的方法是借助於乙個中間變數來進行交換。temp a a b b temp 通過巧妙的加法與減法運算來實現兩個數的交換。a a b b a b a a b 使用位運算 異或 來交換兩個數。a a b b a b a a b 其正確性是因為異或運算滿足 交換律和 結合律。證...
不使用中間變數實現兩個變數的交換
在實現程式功能時,我們經常要進行變數數值的交換,最近學習到在c語言中不用定義新變數來實現兩個變數數值的交換的方法,跟大家分享一下!下面是演算法的實現 include int main 程式可能有點難理解。在順序結構程式中,程式一條一條的依次執行。為了避免值和變數名的混淆,假定使用者輸入的是a0和b0...