第二個經典錯誤:使用指標將實參和形參連線起來,最重要的一點即型別定義相同,如下面的**,huhuan_2函式的形參是兩個int *型別的指標變數,因此在主函式內呼叫函式時,就必須採用huhuan_2(&a, &b)的形式確保引數型別一致。
而在互換函式的編寫時也應注意,如下的交換**寫法是錯誤的,解釋如下圖:
#include因在交換過程中,僅僅實現了交換指標p,q的內容(即變數a,b的位址),而實際上變數a,b的內容並沒有發生變化void huhuan_2(int * p, int * q)
int main(void)
正確寫法如下:改為交換*p和*q的內容即可,p是int *型別,則*p是int型別,因此t要定義成int類,*p指向以p的內容為位址的整型變數a,因此交換*p,*q才能實現變數的交換。**如下:
void huhuan_2(int * p, int * q)int main(void)
經典指標程式 互換兩個數字
include void fairyd 1 int int 定義函式fairyd 1,形參可以不註明變數,直接定義型別即可。void fairyd 2 int int 定義函式fiaryd 2,該函式形參的變數為整型指標。void fairyd 3 int int 定義函式fiaryd 3,該函式形...
經典指標程式 互換兩個數字
include void swap 1 int a,int b 形參 區域性變數,只能在本函式中使用 error void swap 2 int p,int q error void swap 3 int p,int q int main 1 swap 1錯誤原因 形參ab不同於實參ab,該程式只改...
兩個數字相加
兩個數字相加 題幹 給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3...