我无法理解手册页中给出的这个例子dc
:
$ dc
1 0:a 0Sa 2 0:a La 0;ap
1
对我来说答案应该是 2,因为:
1 0:a
这里我们将 1 存储在 array 的第 0 个位置a
。0Sa
现在我们将 0 压入 register 的堆栈a
。2 0:a
现在我们再次将 2 存储在数组的第 0 个位置,a
从而覆盖之前存储在该位置的 1。La
现在我们弹出存储在寄存器堆栈中的 0a
并将其推送到主堆栈。0;a
现在我们再次将 0 推入主堆栈,然后将其弹出以用作数组索引,并将存储在数组第 0 位置的 2 推a
入主堆栈。p
现在我们打印主堆栈的顶部,即 2。所以答案应该是 2。
我错过了什么?
编辑 :
$ dc -V
dc (GNU bc 1.06.95) 1.3.95