再問c語言問題,是關於指標的反序輸出問題的。答案是

時間 2022-10-16 04:00:02

1樓:帳號已登出

1次 ,p不空 執行f(p+1) 1.printf("%c",*p);壓棧 堆疊情況 printf("%c",*p);壓棧 *p=1

2次 ,p不空 執行f(p+1) 2.printf("%c",*p);壓棧 堆疊情況 2.printf("%c",*p) --> *p=3

1.printf("%c",*p); ---> *p=1

3 次 p不空 執行f(p+1) 3.printf("%c",*p);壓棧 堆疊情況 3.printf("%c",*p) --->*p=9

2.printf("%c",*p) --> *p=3

1.printf("%c",*p); ---> *p=1

4次 執行 p為空 執行 printf("%c",*p); 接著 退回到 棧頂 3.printf("%c",*p) --->*p=9

接著是 2.printf("%c",*p) --> *p=3 接著是 1.printf("%c",*p); ---> *p=1

主要是遞迴

2樓:匿名使用者

首先 *p指第一個1

然後 不為空 *p指第二個3

然後 不為空 *p指第三個9

然後,為空,printf 9

又回到3

最後1自已呼叫自己,遞迴演算法

3樓:匿名使用者

f是一個遞迴函式,呼叫順序如下

p首先指向1,p不為空,則呼叫f(p+1),此時p指向3,呼叫f(p+1),p指向9,

再呼叫f(p+1)的時候,p為空,列印當前p的內容,為9,接著列印3,接著列印1,整個呼叫完成

4樓:匿名使用者

這是典型的遞迴程式。

如果你明白遞迴 你就知道為什麼了。不明白的話,你就找關於遞迴的看看。

關於C語言指標問題,C語言指標的賦值問題

飛翔的蠍子大叔 關於int p1 123這個問題我看了很多資料,在這裡我發表一點看法,該問題非常好,這是c語言需要規範的地方。int p1 123 是非法操作,指標表示地址,地址 123?我是沒有見過這種操作。地址一般用二進位制 八進位制 十六進位制表示,123表示地址根本就是扯淡!這個語句的目的就...

關於C語言指標自增運算的問題,c語言中指標可不可以用在自增自減運算子中

搗蒜大師 這寫操作等價 p p 都是p加,然後 這些操作等價 p p p 相當於先 了,然後p再 include main p 指向2 printf d n p 2 p p 1 p指向3 printf d n p p指向4,再 4 p p 1 p指向5 printf d n p 5,p指向6 p p...

關於C語言指標的指標的疑問,關於C語言的指標問題 指標的地址 1問題

month是指標陣列,每個元素都是一個char型指標,指向一個字串的首地址 p是二級指標,p month,p指向month陣列的首地址,也就是 january 的首地址的地址,p的值就是 january 的首地址,用 s 的格式輸出,就是字串 january 然後p month i,month是陣列...