处于静态范围的语言的程序:有人请解释这个程序是如何执行的?下面
program main
int x, y;
void p1(value int y, void q(reference int)) {
void p2(reference int x) {
x := y + 2;
print(x);
q(y);
}
if x = y then q(y) else p1(y+1, p2)
}
void p2(reference int x) {
x := y + 2;
print(x);
}
x := 2;
y := x;
p1(0, p2);
end main
由“值”,则意味着通过参考由值参数发送,“参考”。
在p2中函数调用“q(y)”会导致无限循环吗?
语言Ada? – YWE 2010-09-21 03:30:42
应该是阿达样。但我想这是伪代码。实际的问题是绘制轮廓图,显示轮廓的嵌套结构。 – pippoflow 2010-09-21 03:37:01
你从哪里得到这段代码或伪代码?哪个学校?我从来没有见过这样的代码。 – YWE 2010-09-21 03:49:22