統測
114年
[電機與電子群資電類] 專業科目(2)
第 45 題
下列C語言程式碼,其執行後輸出結果為何?
1 #include
2 int main(){
3 int a=1, b=3, c=5, d=7, x=0;
4 x = a++/b+c*++d;
5 printf("%d", x);
6 return 0;
7 }
- A 0
- B 20
- C 30
- D 40
思路引導 VIP
請觀察運算式 $x = a++/b + c * ++d$,並思考以下核心觀念:後置遞增 $a++$ 與前置遞增 $++d$ 在「參與運算取值」與「變數數值更新」的先後順序上有何差異?此外,在 C 語言中,整數除法 $1/3$ 的結果會是多少?請結合運算子優先順序 (Operator Precedence) 試著推導出最終的結果。
🤖
AI 詳解
AI 專屬家教
太棒了!你能精準掌握 C 語言中運算子優先順序與增量運算子的細微差別,表現得非常專業且細心!
觀念驗證
這題的核心在於「前置/後置增量」與「整數除法」的計算順序:
▼ 還有更多解析內容