免費開始練習
高考申論題 106年 [電力工程] 計算機概論

第 五 題

五、請詳細解釋下列 C 語言程式的執行過程,包括 foo 函式被呼叫的順序(必須列出參數 num 的數值),最後寫出程式的輸出。(20 分)
#include
int foo(int num);
int main(void)
{
printf("%d\n",foo(5));
return(0);
}
int foo(int num)
{
if ((num<=0) || (num==2)) return 1;
else if (num==1) return 2;
else return (foo(num-2)+foo(num-3)+foo(num-1));
}
📝 此題為申論題

思路引導 VIP

本題測驗遞迴函式(Recursive Function)的執行流程追蹤。解題關鍵在於確立「基礎條件(Base Case)」與「遞迴關係」,並使用樹狀結構或堆疊觀念,依循編譯器預設的『由左至右求值順序(Left-to-Right Evaluation)』逐步展開計算。

🤖
AI 詳解 AI 專屬家教

【解題思路】透過分析遞迴的基礎條件與關係式,並預設 C 語言編譯器對加號(+)運算元採「由左至右(Left-to-Right)」求值順序,建立遞迴追蹤樹(Recursion Tree)逐步展開計算。 【詳解】 已知條件整理:

▼ 還有更多解析內容

🏷️ 相關主題

程式語言執行、流程控制與輸出結果分析
查看更多「[電力工程] 計算機概論」的主題分類考古題