第一種方法:
a=a+b;
b=a-b;
a=a-b;
**如下:
[cpp]view plain
copy
#include "stdio.h"
int main(
void)
缺點:可能越界
第二種方法:
解決方法:(a、b異或的結果 ,和a異或得b ,和b異或得a)
a=a^b;
b=a^b;
a=a^b;
**如下:
[cpp]view plain
copy
#include "stdio.h"
int main(
void)
寫成巨集替換的方法如下:
[cpp]view plain
copy
#include "stdio.h"
#define swap(a,b) (a)^=(b)^=(a)^=(b)
int main(
void)
不使用中間變數實現兩個變數的交換
在實現程式功能時,我們經常要進行變數數值的交換,最近學習到在c語言中不用定義新變數來實現兩個變數數值的交換的方法,跟大家分享一下!下面是演算法的實現 include int main 程式可能有點難理解。在順序結構程式中,程式一條一條的依次執行。為了避免值和變數名的混淆,假定使用者輸入的是a0和b0...
不使用中間變數交換兩個數
在交換兩個數的值時,最經常使用的方法是借助於乙個中間變數來進行交換。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 其正確性是因為異或運算滿足 交換律和 結合律。證...