問題詳情

24.假設有一個 postfix 運算式 A B + C / C D + A * – ,而其起始值為 A=3,B=6,C=3,D=2。該運算式執行之結果為何?
(A) -6
(B) -9
(C) -12
(D) -15。

參考答案

答案:C
難度:計算中-1
書單:沒有書單,新增

用户評論

【用戶】不叫賭俠的陳小刀

【年級】高三下

【評論內容】為了計算後置運算式,我們可以使用堆疊(Stack)來幫助處理。運算式的處理過程如下:開始處理後置運算式:A B + C / C D + A * -將操作數依序推入堆疊:[3] [6]遇到 + 運算符,從堆疊中彈出兩個數字,相加後將結果推回堆疊:[9]遇到 / 運算符,從堆疊中彈出兩個數字,將第一個數字除以第二個數字,將結果推回堆疊:[3]遇到 C,將 C 推入堆疊:[3] [3]遇到 D,將 D 推入堆疊:[3] [3] [2]遇到 + 運算符,從堆疊中彈出兩個數字,相加後將結果推回堆疊:[3] [5]遇到 A,將 A 推入堆疊:[3] [5] [3]遇到 * 運算符,從堆疊中彈出兩個數字,相乘後將結果推回堆疊:[3] [15]遇到 - 運算符,從堆疊中彈出兩個數字,將第二個數字減去第一個數字,將結果推回堆疊:[-12]

【用戶】不叫賭俠的陳小刀

【年級】高三下

【評論內容】為了計算後置運算式,我們可以使用堆疊(Stack)來幫助處理。運算式的處理過程如下:開始處理後置運算式:A B + C / C D + A * -將操作數依序推入堆疊:[3] [6]遇到 + 運算符,從堆疊中彈出兩個數字,相加後將結果推回堆疊:[9]遇到 / 運算符,從堆疊中彈出兩個數字,將第一個數字除以第二個數字,將結果推回堆疊:[3]遇到 C,將 C 推入堆疊:[3] [3]遇到 D,將 D 推入堆疊:[3] [3] [2]遇到 + 運算符,從堆疊中彈出兩個數字,相加後將結果推回堆疊:[3] [5]遇到 A,將 A 推入堆疊:[3] [5] [3]遇到 * 運算符,從堆疊中彈出兩個數字,相乘後將結果推回堆疊:[3] [15]遇到 - 運算符,從堆疊中彈出兩個數字,將第二個數字減去第一個數字,將結果推回堆疊:[-12]