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