27 C 語言的函數如下,則 g(10, 10)的回傳值為何?
int g(int s, int n) {

        if(n<=1)

               return s;

        return g(s+n, n-1);

}
(A) 54
(B) 55
(C) 64
(D) 65

答案:登入後查看
統計: A(20), B(53), C(123), D(34), E(0) #3481600

詳解 (共 2 筆)

#6711352
當我們分析這個考試題目時,首先需要關注的...
(共 865 字,隱藏中)
前往觀看
5
0
#7321261
遇到遞迴函式都先從不會出現遞迴的結果開始
s維持不變,但是n改成1
n=1的時候,s=10
然後接著n改成2
會回傳 return g(10+2, 2-1)
因為這時n=1,而我們在之前就知道n=1就會直接回傳s的值,也就是12
所以接下來就是做成表格來依序
ㅤㅤ
n 1 2 3 4 5 6 7 8 9 10
s 10
10+2=
12
12+3=
15
15+4=
19
19+5=
24
24+6=
30
30+7=
37
37+8=
45
45+9=
54
54+10=
64
ㅤㅤ
ㅤㅤ
0
0

私人筆記 (共 1 筆)

私人筆記#7821090
未解鎖
答案:(C)解析:遞迴:g(10,10)...
(共 134 字,隱藏中)
前往觀看
4
0