C 交換兩個數的值

2021-07-02 16:28:31 字數 696 閱讀 3255

需要臨時變數

(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...