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

下列以 C 語言撰寫的程式執行後產生的輸出為何? #include<stdio.h> void swap(int lhs, int rhs) { int tmp; tmp = lhs; lhs = rhs; rhs = tmp; } int main() { int a = 10, b = 20; swap(a, b); printf("%d %d", a, b); return 0; }

題目附圖
A20 10
B10 20正確答案
C10 10
D20 20
答案與詳解
B
正確答案
C語言預設為「傳值呼叫」(Call by Value),函式內的變數交換不會影響到主程式的原始變數。

為什麼答案是 B

本題為「傳值呼叫」,將 a 與 b 的值(10與20)複製給 lhs 與 rhs。swap 函式內的交換只發生在區域變數上,不影響 main 函式的 a 與 b,故印出 10 20。

考點:傳址呼叫考點:傳值呼叫考點:程式追蹤
載入中…

計算機概要 相關題目

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

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

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