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

下列是 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
答案與詳解
A
正確答案
這是經典的 pointer swap(指標交換)函數,透過指標交換兩變數的值,5 和 55 交換後變成 55 和 5。

為什麼答案是 A

正解。num3 先暫存 num1 的值 5,接著把 num2 的值 55 寫入 num1,最後把 num3 的 5 寫入 num2,完成交換。因為傳的是指標,變動會反映到原變數。

考點:指標交換考點:call by value 誤判考點:覆蓋錯誤
載入中…

計算機概要 相關題目

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

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

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