下列是 C 語言之函數 fun2,當此函數被呼叫時,傳入參數 num1 和 num2 分別為 5 和 55,請問此函數執行完畢後,num1 和 num2 分別為多少? void fun2 (int *num1, int *num2) { int num3 = *num1; *num1 = *num2; *num2 = num3; }
A55 和 5正確答案
B5 和 55
C5 和 5
D55 和 55
答案與詳解
正解。num3 先暫存 num1 的值 5,接著把 num2 的值 55 寫入 num1,最後把 num3 的 5 寫入 num2,完成交換。因為傳的是指標,變動會反映到原變數。
