Examly題庫立即開始練習
2 類科共用卷
普考-電信工程普考-電子工程
計算機概要10624單選題

下列 C 程式中相同副程式被呼叫二次,程式執行結果為何? #include <stdio.h> void test(){ static int A = 1; float B = 2.3; A = A * 2; B = B + 1.2; printf("%d / %2.1f / ", A, B); } int main() { test(); test(); return 0; }

A2 / 3.5 / 4 / 3.5 /正確答案
B2 / 3.5 / 4 / 4.7 /
C2 / 3.5 / 2 / 3.5 /
D2 / 3.5 / 2 / 4.7 /
答案與詳解
A
正確答案
static 變數跨呼叫保留值,一般區域變數每次重新初始化。A 累積倍增,B 每次重設。

為什麼答案是 A

第一次呼叫:A=1*2=2(保留),B=2.3+1.2=3.5,印出「2 / 3.5」。第二次呼叫:A 保留 2,再乘 2=4;B 重新初始化為 2.3,再加 1.2=3.5,印出「4 / 3.5」。完全符合 static 與 auto 變數的差異。

考點:static 保留值考點:誤以為 B 累積考點:誤以為 A 歸零考點:概念完全顛倒
載入中…

計算機概要 相關題目

想練更多計算機概要考古題?

Examly 收錄 38 萬+ 道歷屆題目,每題都有像這樣的精選詳解。免費下載,立即開練。

Download on theApp Store即將推出Google Play
黑皮