教甄◆電腦科專業題庫下載題庫

上一題
假設指令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
難度:困難
4F
何霖子 國一上 (2010/05/18 23:40)
所以...
pop出來的數字,可以隨意指定給想要的變數囉??
5F
Grant Kuo 小六下 (2010/05/21 20:41)
按照題目的定義

 POP X  就是代表從Stack中pop出一個數字  然後把數字的值指定給 X 變數

以上

6F
Delia Shu 高二下 (2011/07/13 20:46)

(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,並沒有交換!