下列以 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
答案與詳解

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