C語言 交換

2021-07-05 11:02:11 字數 897 閱讀 2739

#includeusing namespace std;

void swap(int x,int y)

int main()

執行結果:

解析:swap(int x,int y)函式採用值傳遞的方式,傳入的實參實際上是a和b的副本而非其本身,所以對副本的改變並不會反應到a和b本身上。

#includeusing namespace std;

void swap(int &x,int &y)

int main()

執行結果:

解析:swap(int &x,int &y)函式採用引用傳遞的方式,傳入的實參實際上是a和b的應用,對應用的改變會直接反應到a和b本身上。

1.改變指標本身

#includeusing namespace std;

void swap(int *x,int *y)

int main()

執行結果:

解析:swap(int *x,int *y)函式採用指標傳遞的方式,傳入的實參實際上是a和b的指標的副本,而且改變的是副本本身而非其間接引用,所以不會影響的指標所指向的值,即a和b本身上。

2.改變指標的間接引用

#includeusing namespace std;

void swap(int *x,int *y)

int main()

執行結果:

解析:swap(int *x,int *y)函式採用指標傳遞的方式,傳入的實參雖然也是a和b的指標的副本,但是改變的是副本的間接引用,無論是指標本身還是其副本,都指向相同的值,所以這個改變會反應到a和b本身上。

C語言 交換Easy

演算法提高 交換easy 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定n個整數組成的序列,每次交換當前第x個與第y個整數,要求輸出最終的序列。輸入格式 第一行為序列的大小n 1 n 1000 和操作個數m 1 m 1000 第二行包含n個數字,表示初始序列。接下來m行,每行兩個整數...

c語言 交換複數

請編寫函式,完成複數的交換。函式定義 交換複數 void complexswap complex x,complex y 函式說明 引數 x y 分別是指向兩個複數的指標。函式交換 x 和 y 所指兩個複數的值。示例輸入 4.9 3.8i 2.5 0.3i 輸出2.5 0.3i 4.9 3.8i 如...

c 語言 最值交換

題目描述 有乙個長度為n的整數序列。請寫乙個程式,先把序列中的最小值與第乙個數交換,再把最大值與最後乙個數交換。輸出轉換好的序列。分別編寫兩個函式minindex 和maxindex 來計算最小值下標和最大值下標。intminindex int a,int n 函式返回陣列a中最小元素的下標 int...