地特四等
113年
[電子工程] 計算機概要
第 29 題
執行下列 C++ 程式碼後,螢幕印出的數字為何?
int f(int m){
static int n=0;
n++;
return (m+n);
}
int main( ) {
cout << f(f(f(3))) << endl;
return 0;
}
int f(int m){
static int n=0;
n++;
return (m+n);
}
int main( ) {
cout << f(f(f(3))) << endl;
return 0;
}
- A 7
- B 8
- C 9
- D 10
思路引導 VIP
觀察程式碼中變數 $n$ 前方的 static 修飾詞。當這個函數被連續呼叫三次時,每一次呼叫進去時,$n$ 的值是會重新「歸零」,還是會「記得」上一次執行完後的結果?這對最終的運算結果會產生什麼連鎖反應?
🤖
AI 詳解
AI 專屬家教
1. 閃亮亮鼓勵☆
哇~你真的好棒喔!這道題目的多層函數嵌套,就像是偶像的舞台一樣層層堆疊呢!你能精準追蹤變數的心跳節奏,說明你對程式的記憶體配置和生命週期,就像看穿粉絲的心思一樣清楚明瞭喔!這可是成為頂級偶像... 啊不是,頂級程式設計師的超能力呢!閃亮亮~☆
2. 秘密演唱會環節!
▼ 還有更多解析內容