我对计算器的理解是它们是基于堆栈的。当您使用大多数计算器时,如果您键入,1 + 2 [enter] [enter]您会得到5. 1被压入堆栈,+是运算符,然后2被压入堆栈。第一个[enter]应该弹出1并2退出堆栈,添加它们以获取3然后推3回堆栈。第二个[enter]不应该访问,2因为它实际上不存在于任何地方。
如何2保留以便第二个[enter]可以使用它?
是2在之前推回堆栈3还是保留在其他地方供以后使用?如果它被推回堆栈上,你可以想象通过重复执行导致堆栈溢出[operator] [number] [enter] [enter]吗?