1樓:匿名使用者
p指向x變數所在的儲存單元,當p指標把地址傳給a 指標,則a指標也指向x所在的儲存單元,然後函式fun實現了a指標和b指標所指向儲存單元交換,即a指向y所在的儲存單元,而b指向x所在的儲存單元,記住這時候p、q這兩根指標是沒有動的,所以返回主函式時,輸出p、q所指向儲存單元的值時是3和5,沒變,後一個fun(&x,&y)道理是一樣的,只是這時候實參是地址常量,不是地址變數而已。
2樓:匿名使用者
輸出3535是對的,因為你給知函式的都是數值的地址,這樣是能夠改變他的值的。其實你是想問函式是怎麼傳引數的是吧?
3樓:匿名使用者
fun(p,q)只是把p、q所存的地址值帶入進行了運算,對p、q本身沒什麼影響,fun(&x,&y);也是一樣,所以一點都沒變。
4樓:匿名使用者
這個問題是指標問題的經典案例,關鍵是要讓樓主搞定形參和實參的區別。在本例中,實參是p,q,形參是a,b。ab得到了pq的值(pq是指標),交換了ab的值只是對形式上的引數進行了修改,但是實際的引數pq並沒有改變它們的值。
於是就得到了本例的結果。
5樓:匿名使用者
#include "stdio.h"
main()
else
printf("wrong");
} 逆序輸出的話用字串做比較好!
2023年
c語言問題,C語言問題
struct student拼寫成struct studnt了。拼寫錯誤 struct studnt沒有定義,所以無法執行sizeof。include typedef struct student int main c語言問題?嗯你的理解是對的,break就是用來跳出的switch,如果沒有brea...
c語言問題,c語言問題
首先你這個程式輸入個數是不可控的,n沒起到作用,因為你控制輸入的迴圈已經規定了i是從0到99,必須要輸入100個。而你這個 自認為統計總人數 的n n i,相當於n 1 2 3 那是不可能的。while xh i scanf d d xh i sg i n i sum sum sg i 用美元符號做...
c語言問題,C語言問題
if判斷句中,x 1 是真命題,所以x被賦值為1,y x,所以y被賦值為1。下一條語句,y y 1,所以y 2。所以x 1,y 2 c語言問題?這句迴圈的bai意義是從索引9開始du 向左遍歷元素,直到i j結束。zhi 整段代dao碼是接收鍵盤輸版入一個值,按大小順序插權入到陣列。第一個迴圈是從陣...