我无法理解手册页中给出的这个例子dc
:
$ dc
1 0:a 0Sa 2 0:a La 0;ap
1
Run Code Online (Sandbox Code Playgroud)
对我来说答案应该是 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。
我错过了什么?
PS- 我想dc
用作标签,但看起来它不存在,因此必须至少使用一个标签debian
(我的工作站操作系统)。