免費開始練習
普考申論題 105年 [資訊處理] 程式設計概要

第 null 題

📖 題組:
如果我們採取不同參數傳遞的方法,請回答下面程式執行的結果:(每小題 4 分,共 12 分) (一) pass-by-reference (二) pass-by-name (三) pass-by-value-result ```c int y=1, x=1; int fun(int a, int b) {b+=a; a=b+x; return a;} void main() { int x=2; y=fun(x, y) + y; printf(“x=%d, y=%d”, x, y); } ```
null
📝 此題為申論題

思路引導 VIP

看到這題,首先辨別各變數的作用域(Scope):全域變數與區域變數的同名覆蓋(如 x)。其次,分析不同參數傳遞機制對實參寫回的時機與影響。最後,務必留意運算式 y = fun(x, y) + y 在 C 語言中的未定義行為(求值順序),需在作答中點明並假設「由左至右」求值以推導標準答案。

🤖
AI 詳解 AI 專屬家教

【解題思路】分析靜態作用域(Static Scoping)下的變數綁定與參數傳遞機制,並假設運算式採由左至右求值。 【詳解】 已知變數作用域與初始狀態:

▼ 還有更多解析內容

🏷️ 相關主題

程式設計基礎概念與實作演練
查看更多「[資訊處理] 程式設計概要」的主題分類考古題