需要臨時變數
(1).使用引用(引用即別名)
void swap1(int &a, int &b)
函式時的格式:swap1(x,y)
(2). 指標
void swap2(int
*a, int
*b)
呼叫該函式時的格式:swap2(&x,&y)
2.不需要臨時變數
(1).假如 a = 3,b = 4。想將a和b的值互換,可以用一下賦值語句實現:
有乙個陷阱:
int swap(int * a,int * b)
下面用豎式進行簡單說明:(10進製化為二進位制)
a = 011
(^) b = 100
則 a = 111(a ^ b的結果賦值給a,a已變成了7)
(^) b = 100
則 b = 011(b^a的結果賦給b,b已經變成了3)
(^) a = 111
則 a = 100(a^b的結果賦給a,a已經變成了4)
(2).
a = a + b;
b = a - b;
a = a - b;
總結:位運算比加減快,當然任何互逆的運算都是可以的。 交換兩個數的值
include iostream.h 解法二 include iostream.h void swap int x,int y void swap int x,int y void main void main 請同學們想一下,哪乙個能實現數值交換!我來告訴大家,解法可以實現這個功能!解法一 他把a...
C 中交換兩個數的值
一般情況下我們都會建立乙個中間變數進行倆個數值的交換 int a,b,temp a 10 b 5 temp a a b b temp 這是一種基礎的演算法,符合計算機的程式語言特點,是賦值語句的經典。還有一種比較簡單理解的實現方式通過 運算子實現的 int a,b a 10 b 2 a b a a ...
C語言 交換兩個數的值
方法一 通過臨時變數將兩個數的內容進行交換 include include pragma warning disable 4996 void swap intmain 方法二 不允許建立臨時變數,將兩個數的內容進行交換 include include pragma warning disable 4...