我對計算器的理解是它們是基於堆棧的。當你使用大多數計算器時,如果你輸入1 + 2 [enter] [enter]
,你會得到5
。 1
被壓入堆棧,+
是運算符,則2
被壓入堆棧。第一個[enter]
應該彈出1
和2
離開堆棧,將它們添加到3
然後再將3
推回堆棧。第二個[enter]
不應該有權訪問2
,因爲它在任何地方都不存在。計算器堆棧
2
如何保留,以便第二個[enter]
可以使用它?
是2
推回到堆棧之前3
還是保留在其他地方供以後使用?如果將它推回堆棧,可以想象通過重複執行[operator] [number] [enter] [enter]
會導致堆棧溢出?
只是一個觀察,問題包含術語'堆棧溢出'...有趣的:) – kpax 2010-01-13 05:21:35
@kpax:有趣但不完全是巧合。儘管有誤導性的標識,但這種編程現象是該網站的名稱。 – Dinah 2010-01-13 14:27:16