Examly題庫立即開始練習
普考-資訊處理計算機概要10820單選題

下列 C 程式執行後的輸出為何? #include <stdio.h> void fun(int *a, int b) { *a = *a + b; b++; } int main(void) { int a, b; a = b = 1; fun(&a, b); printf("%d, %d", a, b); return 0; }

A1, 1
B1, 2
C2, 1正確答案
D2, 2
答案與詳解
C
正確答案
a 傳址會被改成 2,b 傳值不受影響仍為 1,故輸出 2, 1。

為什麼答案是 C

a 以位址傳入,*a = 1+1 = 2,main 的 a 變成 2;b 以值傳入,函式內 b++ 僅改副本,main 的 b 仍為 1。輸出 2, 1。

考點:忽略傳址效果考點:傳值誤解考點:傳址 vs 傳值考點:雙重誤解
載入中…

計算機概要 相關題目

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

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

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