如何使用指標形參交換兩個整數的值(詳解)

2021-08-21 10:47:52 字數 1326 閱讀 1765

#函式內部通過解引用操作改變指標所指的內容

p和q分別是兩個數的位址,通過對位址取內容,從而得到該數的值,交換的時候也應該是將指標指向的數進行交換。但是但是如果寫成下面的形式,就無法進行交換。

這是因為在swap函式體內部,只是交換了兩個形參指標本身的值,未能影響實參。這時候如果在形參裡面也有一條列印語句的話,能夠清晰的看到在被調函式裡面,確實交換了指標的值,但是這只在區域性範圍內有效,呼叫完畢回到主函式就失效了。

還可以使用引用的方式來進行交換操作,**如下:

#include using namespace std;

int swap(int &a,int &b);

int main(){

int min=10;

int max=20;

cout<

引用的宣告方法:型別識別符號 &引用名=目標變數名;

兩個整數交換

第乙個程式設計題是 用 c 語言寫乙個函式交換兩整數的值,不借助第三個變數。事實上這個題目一聽到就有了想法,因為以前有做過,形如 方法一 a a b b a b a a b 不過提出了最大的問題,就是兩個正數的溢位問題。這個確實是缺限,以前遇到卻沒去找它的解決方法。此時提出了強轉型別為long in...

引用形參 指標形參的使用

引用形參 指標形參可以改變主函式內的實參值 includeusing std cin using std cout using std endl 形參其實是在把實參傳遞給子函式的時候定義了乙個新的變數,但是這個變數的值和實參相等,所以在子函式裡無論怎麼修改都不會影響到呼叫它的函式的實參的值 int ...

不使用臨時變數交換兩個整數變數

先看一下交換變數的常規方式 public static void swap1 輸出 i 1,j 5 i 5,j 1使用臨時變數儲存一下其中乙個值,這種方法所有人都知道,且可以交換任何變數。如果是int或者long等整數變數,還可以通過以下方式交換 public static void swap2 輸...