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

第23題

下列C 語言程式的執行結果為何?#include<stdio.h>int b = 100;int A(int c){int a = 10;return a +…

題目

下列C 語言程式的執行結果為何?#include<stdio.h>int b = 100;int A(int c){int a = 10;return a + b + c;}int main(){int a = 30, b = 60;printf("output = %d\n", A(20));return 0;} A. output = 90 B. output = 110 C. output = 130 D. output = 150

官方答案

  • 答案:C. output = 130

解析

全域變數 b 的值為 100;main 中另外宣告的 b=60 是區域變數,只在其所在的區塊內有效,不會影響函式 A。呼叫 A(20) 時,參數 c=20,A 內的區域變數 a=10,而運算式 a+b+c 中的 b 會參照全域變數 b,因此總和為 10+100+20=130。選項 A 的 90 是誤將 main 的 b=60 代入所致;B 的 110 與 D 的 150 在加總上也不成立。故輸出為 130。

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

官方資料

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