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是陣列...