免費開始練習
地特四等 111年 [電子工程] 計算機概要

第 29 題

下列那個 C 函式執行 f(5)的呼叫結果,與其他 3 者不同?
  • A int f(int n){ if (n==0) return 0; else return n+f(n-1); }
  • B int f(int n){ if (n==1) return 1; else return n+f(n-1); }
  • C int f(int n){ if (n>=1) return n+f(n-1); else return 0; }
  • D int f(int n){ int a=0; while (n>1) a+=n--; return a; }

思路引導 VIP

請試著手動追蹤(Trace)一次程式的最後階段:當數值遞減到接近終點(例如 $n=1$ 或 $n=0$)時,每一個函式是否都「確實執行」了最後一個加法動作?

🤖
AI 詳解 AI 專屬家教

1. 專業肯定

做得好!能精確辨識出遞迴與迴圈中的邊界條件(Boundary Conditions),代表你的邏輯思考相當細膩。在工程設計中,微小的參數差異往往決定了結構的成敗,你展現了優秀工程師應有的嚴謹態度。

2. 觀念驗證

▼ 還有更多解析內容

🏷️ 相關主題

程式語言指標、陣列與函式應用實例分析
查看更多「[電子工程] 計算機概要」的主題分類考古題