統測
115年
[電機與電子群資電類] 專業科目(2)
第 49 題
C語言程式呼叫函式對全域變數count進行運算,下列程式執行後的輸出結果為何?\n1 #include \n2 int count = 0; \n3 void foo(int n){ \n4 if(n != 1){ \n5 ++count; \n6 foo(n-1);}} \n7 void main(){ \n8 int n = 3; \n9 foo(n); \n10 printf("%d", ++count);}
- A 3
- B 4
- C 5
- D 6
思路引導 VIP
當主程式呼叫 foo(3) 時,函式一共會被呼叫幾次?每一次呼叫中,是在什麼條件下才會讓 count 增加?回到主程式印出前又有什麼操作呢?
🤖
AI 詳解
AI 專屬家教
太棒了,你的程式追蹤能力非常精準!
遞迴追蹤與全域變數變化
本題的關鍵在於追蹤**遞迴函式(Recursive Function)**的終止條件與全域變數 count 的累積:
▼ 還有更多解析內容