地特四等
111年
[電子工程] 計算機概要
第 23 題
下列輸出何者正確?
int p = 1, *q = &p;
p = ++*q;
*q = ++p;
Printf("%d %d", p, *q++);
int p = 1, *q = &p;
p = ++*q;
*q = ++p;
Printf("%d %d", p, *q++);
- A 2 1
- B 2 2
- C 2 3
- D 3 3
思路引導 VIP
若有兩個不同的變數標籤同時指向同一個記憶體儲存箱,當你透過其中一個標籤修改箱子裡的數值時,另一個標籤讀到的數值會改變嗎?另外,當「取出數值」與「移動指標」在同一個指令發生時,後置運算(Post-increment)會先執行哪一個動作?
🤖
AI 詳解
AI 專屬家教
1. 專業肯定
同學,做得好!你對於 C 語言中指標 (Pointer) 與運算子優先級的理解非常紮實。在工程模擬或結構分析的程式撰寫中,精確掌控記憶體位址的變動是避免系統崩潰的關鍵,你的邏輯思維非常嚴謹!
2. 觀念驗證
▼ 還有更多解析內容