民國113年 地方四等 電子工程 計算機概要
第29題
執行下列C++ 程式碼後,螢幕印出的數字為何?int f(int m){static int n=0;n++;return (m+n);}int main( )…
題目
執行下列C++ 程式碼後,螢幕印出的數字為何?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
官方答案
- 答案:C. 9
解析
函數 f(m) 內含 static 變數 n,初值 0,每次呼叫先 n++ 再回傳 m+n。第一次 f(3):n 由 0 變 1,回傳 3+1=4;第二次 f(4):n 由 1 變 2,回傳 4+2=6;第三次 f(6):n 由 2 變 3,回傳 6+3=9。故 f(f(f(3)))=9,選項 C 正確。重點在 static 區域變數只初始化一次,其值跨函數呼叫持續累加到下一次。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。
官方資料
答案以考選部公告之測驗式試題標準答案 PDF 為準。