問題詳情

假設指令PUSHX是將變數X的內容放入堆疊(stack),指令POPX是從堆疊中取出一個值存在變數X中,下列哪一程式片段恰可將A及B的內容對調?
(A)PUSHB;POPA;PUSHA;POPB;
(B)PUSHA;POPB;PUSHB;POPA;
(C)PUSHA;PUSHB;POPA;POPB;
(D)PUSHA;PUSHB;POPB;POPA;

參考答案

答案:C
難度:困難0.391304
統計:A(12),B(19),C(54),D(43),E(1) #
個人:尚未作答書單:stack堆疊、stack堆疊

用户評論

【用戶】何霖子

【年級】國一上

【評論內容】所以...pop出來的數字,可以隨意指定給想要的變數囉??

【用戶】Grant Kuo

【年級】小六下

【評論內容】按照題目的定義 POP X  就是代表從Stack中pop出一個數字  然後把數字的值指定給 X 變數以上

【用戶】Delia Shu

【年級】高二下

【評論內容】(A)PUSHB;POPA;PUSHA;POPB→這只是把同一個值從B放到stack,再放到A,然後又從A放回stack,再放回B(B)PUSHA;POPB;PUSHB;POPA→這也是把同一個值從A放到stack,再放到B,然後又從B放回stack,再放回A(C)PUSHA;PUSHB;POPA;POPB→這才是先把一個值從A放到stack,再從B把另一個值放到stack,然後將stack最上方的值(從B出來的)放到A,再把stack裡剩下的值(從A出來的)放到B→所以A出來的跑去B,B出來的跑去A,匠就交換了!(D)PUSHA;PUSHB;POPB;POPA→這個是先把一個值從A放到stack,再從B把另一個值放到stack,然後將stack最上方的值(從B出來的)放回B,再把stack裡剩下的值(從A出來的)放回A→所以A出來的還是回到A,B出來的也是回到B,並沒有交換!