📜  门| GATE CS 1997 |第68章

📅  最后修改于: 2021-06-28 20:44:37             🧑  作者: Mango

考虑一下Pascal中的以下程序片段:

Program Main;
    var X : integer;
    procedure A:
       var Y : integer;
    procedure B:
       var Z : integer;
    procedure C:
       var Z : integer;
    begin(*Procedure C*)
    .
    .
    end(*Procedure C*)
 begin(*Procedure B*)
    .
    .
 C; (*call to C*)
 A; (*call to A*)
        .
        .

 end(*Procedure B*)
 begin(*Procedure A*)
        .
        .
        B; (*call to B*)
        .
        .
  end(*Procedure A*)
begin (*Main*)

假定除上述指示的过程外,没有其他过程的调用。已知在该程序执行期间的某个时间点,在运行时堆栈上存在五个激活记录。通过清楚地指示以下内容来描述此时的运行时堆栈:堆栈顶部,静态链接和动态链接的内容以及每个记录中局部变量的分配。回答:
解释:
这个问题的测验
如果您在以上帖子中发现任何错误,请在下面发表评论