民國110年 地方四等 電子工程 計算機概要

第28題

考慮下列的C 語言函數宣告,然後呼叫f(4),函數的回傳值為何?int f (int x){if (x <=1) return 1;else return (x…

題目

考慮下列的C 語言函數宣告,然後呼叫f(4),函數的回傳值為何?int f (int x){if (x <=1) return 1;else return (x * f(x-1));} A. 1 B. 4 C. 10 D. 24

官方答案

  • 答案:D. 24

解析

此函數為遞迴定義的階乘函數:當x小於等於1時回傳1,否則回傳x乘以f(x-1)。呼叫f(4)時依序展開為4×f(3)=4×3×f(2)=4×3×2×f(1)=4×3×2×1=24,故回傳值為24,選D。A為終止條件f(1)之回傳值,B為f(2)之部分結果,C並非任何中介計算結果,均非f(4)之值。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料

答案以考選部公告之測驗式試題標準答案 PDF 為準。