1樓:夢中夢
1全部這個程式首先要明白fun()函式的操作,它的意思就是將a指標指向b指標所指向的地址,然後「擅自」將b指標指向的元素給加了1,知道了這個,就容易理解了
看main()函式:
定義了字元'a'和'a',然後,p1指向了'a',p2指向了'a'。後來,再進入fun()函式中,在函式中,p1指向了p2所指向的'a',並且將'a'變成'b'。。。。
退出fun()函式後,指標所指向的地址是不變的,然後輸出就可以了。只不過,在fun()函式中,將第二個指標指向的值給加1了
說的很詳細,希望可以幫助你o(∩_∩)o
2樓:
在呼叫 fun(p1, p2);時, p1 = p2; 即 p1 = &c2; 把p1 指向了c2。(p1)++; 就是p1指向的地址的值+1。即c2 += 1; 最終,c1沒變,c2加1,就選a了。
3樓:冷明珠
p1,p2分別指向c1,c2;
fun函式第一句話是使p1指向p2所指,也就是p1也指向了c2;
第二句話先取值在加加,也就是對c2的值進行了自增,c2='b';
然後分別列印c1和c2,就是ab。
4樓:聽炮鯨
p1 = &c1; // *p1 = 'a';
p2 = &c2; // *p2 = 'a';
fun(p1,p2); // a=b : 即p1=p2,p1指向了『a』;(*a)等於『a』,(*a++)等於'b';
C語言 讀程式題
哦,可以,你看下吧。前面的 int f int m,int n 為一個以兩個整形為引數,返回值為整形的子函式,實現的功能是把從m開始到n為止,中間相隔一個的數全加起來求和。你這個主函式中,x f a 2 a 6 a 2 3,a 6 7,相當於計算f 3,7 然後將所得的值賦值給x,最後輸出x。計算f...
c語言程式填空題,C語言程式填空題
陣列逆序儲存 的答案 k a k a n 1 k a n 1 k s printf 另一題 不清楚 c語言程式填空題 1 第一空 year 4 0 year 100 0第二空 leap 0 第三空 leap 2 第一空 x j 1 x j 第二空 j 9完畢。c語言程式填空題 include inc...
C語言填空題,c語言程式填空題?
執行 static intb 5 a 3 後,b 4 0,a 1 2 6 設有定義語句 static inta 3 4 則a 1 1 的值為0,a 2 1 的值為0。若在程式中用到 putchar 函式,則應在程式開頭寫上包含命令 include 若在程式中用到 strlen 函式,則應在程式開頭寫...