1樓:
void swap(int *x,int *y):其中的int *x, int *y 表示引數是(int *) 型別的,是指向int型的指標,如果寫成 int* x, int* y 估計你會更容易理解,雖然你訪問指標指向的變數時用的是 *x,*y,看似傳的是x和y指標所指向的值,但傳進去的實際上仍是位址,因為引數的型別就是int* 型的,傳進去的是int* 型的x和y而不是*x和*y。
2樓:可愛的壞男孩
#include
void swap(int *x,int *y)void main()
首先swap(int *x,*y)不能這麼寫,應該寫成這樣swap(int *x,int *y)
其次記住一句話,按值傳遞,形參改變,實參不變;按地阯傳遞,形參改變,實參也改變!你現在這段**用的是指標傳遞,也就是地阯傳遞,所以最後輸出的結果就是a=5,b=3
3樓:匿名使用者
應該是這樣的
#include
void swap(int *x,int *y)void main()
實參是位址swap(&a,&b)沒錯,形參是指標,指標是用來存放位址的,所以將a,b的位址給指標,是正確的
void swap(int *x,*y) 有問題,應該是void swap(int *x,int *y)
4樓:匿名使用者
這個是c裡面很基本的問題嘛,記的剛學c的時候我也問過,嘿嘿
其實這是c的語法,如果函式的實參是指標,在對該函式傳值的時候只需要傳位址就好了,課本上都有的啊,隨便什麼c語言的書上也都有的,認真看看書吧
5樓:匿名使用者
首先,swap()應為swap(int *x,int *y),&a是對a的引用,即取位址,swap()的形參指標所需值就是位址,而位址本來就是乙個數嘛,a,b交換位址後,對應值就交換了唄。
6樓:匿名使用者
&是取位址操作 &a即取a的位址
引數中 int* x 指x是乙個int指標
所以沒有矛盾
7樓:
傳遞的是位址啊,把a的位址和b的位址傳遞到x和y上
彙編高手幫幫忙,彙編高手幫幫忙
如果是學組合語言專門的就是 ibm pc組合語言程式設計 清華 沈美明的那本 至於16為還是32位這個好象都是要學的,不過現在一般都是16位的吧。至於那個tasm5.0,我只聽說過masm5.0 不好意思,不過現在彙編應該用的比較多的是masm5.0下面有使用方法 1.開始 執行 輸入 cmd 沒有...
求助!!C語言高手幫忙!!急,c語言高手進開幫幫忙 急
7 3 8 11 9 58 10 j i j i printf n 11 a i a i 12 x x 1 三 include int f int n return s int cal int n return s void main 就這兩個題還叫高手幫忙?我估計會數學的,基本上都可以幫你解決了 ...
法律高手幫幫忙,各位法律高手幫幫忙!!!
遠 足 熊 可以去房管所變更一下房屋所有權人行了 鑫鑫之火 只要你爺爺和你爸帶上自己的戶口到當地的房產管理部門辦理房產過戶登記就行了。 這個問題大可不必煩惱,明確告知您是可以的。變更房產所有人所需要的程式和所需要的證明檔案 1 首先明確房產性質,因為房產是您爺爺的名字登記,在變更前房產屬您爺爺所有,...