免費開始練習
地特三等申論題 106年 [資訊處理] 程式語言

第 一 題

一、試問下列 C++程式碼執行後,其值為多少?(25 分) #include using std::cout; using std::endl; int a(int i) { static int v=1; int t=v; v+=i; return t; } int b(int i) { int v=1; int t=v; v+=i; return t; } static int v; int c(int i) { int t=v; v+=i; return t; } int main() { int i; for (i=1; i<=10; i<<=1) { a(i); b(i); c(i); } cout<<"a="< 📝 此題為申論題

思路引導 VIP

本題測驗「變數作用域與生命週期」以及「for迴圈與位元左移運算(<<)」。解題關鍵在於區分一般區域變數、靜態區域變數與靜態全域變數的記憶體保留特性,並準確追蹤迴圈迭代與結束後的變數 i 數值。

🤖
AI 詳解 AI 專屬家教

【解題思路】分析位元移位運算計算出迴圈結束後的 i 值,並透過區分不同變數儲存類別(static、區域、全域)的生命週期,逐步推算每次函式呼叫的結果。 【詳解】 已知:

▼ 還有更多解析內容

📝 同份考卷的其他題目

查看 106年[資訊處理] 程式語言 全題

升級 VIP 解鎖