Static 打印使用静态作用域和嵌套子例程的psedoocode的输出
我在这里发现了同样的问题,但是那个人的代码格式不正确,影响了给出的答案。 代码如下:Static 打印使用静态作用域和嵌套子例程的psedoocode的输出,static,pseudocode,scoping,Static,Pseudocode,Scoping,我在这里发现了同样的问题,但是那个人的代码格式不正确,影响了给出的答案。 代码如下: procedure main g : integer procedure B(a : integer) x : integer procedure A(n : integer) g := n procedure R(m : integer) write integer(x) x /:= 2 – – intege
procedure main
g : integer
procedure B(a : integer)
x : integer
procedure A(n : integer)
g := n
procedure R(m : integer)
write integer(x)
x /:= 2 – – integer division
if x > 1
R(m + 1)
else
A(m)
– – body of B
x := a × a
R(1)
– – body of main
B(3)
write integer(g)
我想应该是9 4 2 3
我用C编写了一个快速程序(因为它使用静态作用域),完成了伪代码所做的一切,并且它同意我的解决方案。然而,我在网上找到了一些资源,这些资源指向以下答案:9 4 1 4
谁能解释一下为什么这是正确的答案,或者我的答案是否正确