看板 TransCSI 關於我們 聯絡資訊
程式如下: # include <stdio.h> main() { foo(7); } foo(int n) { if(n==10) printf("done"); else { printf("%d",n); foo(++n); n--; printf("%d",n); } } 答案是:7 8 9 done 9 8 7 我自己紙上算是789done9(因後面有一個n--) 揪竟後面的9 8 7是怎麼來的呢= =?? 謝謝回覆~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.165.224 ※ 編輯: nonopower 來自: 211.74.165.224 (06/16 19:14)
jackaabb:每一個遞迴結束的時候不是還有一行prinft('%d',n);嗎? 06/17 00:50
TonyJih:printf出9之後回到8的迴圈印出8,然後再回到7的迴圈印出7 06/17 10:38
TonyJih:然後才會回到main中做結束 06/17 10:39