針對下列 C 程式,執行 test()後回傳值為下列何者? int f(int n) { if (n > 3) return 1; else if (n == 2) return (3 + f(n + 1)); else return (1 + f(n + 1)); } int test(){ int i=0, j=0; for (i = 1; i < 4; i++) j = j + f(i); return j; }
A15
B13正確答案
C10
D7
答案與詳解
f(1)=6、f(2)=5、f(3)=2,for 迴圈累加 j=6+5+2=13。正確追蹤遞迴展開即可得出。
