📜  门| Gate IT 2007 |第33章

📅  最后修改于: 2021-07-02 14:44:45             🧑  作者: Mango

考虑下面的假设语言的程序,该程序允许全局变量以及通过引用进行调用或通过参数传递的按值调用方法的选择。

int i ;
program main ()
{
    int j = 60;
    i = 50;
    call f (i, j);
    print i, j;
}
procedure f (x, y)
{           
    i = 100;
    x = 10;
    y = y + i ;
}

以下哪个选项代表两种参数传递机制的程序正确输出?
(A)按值调用:i = 70,j = 10;通过引用致电:i = 60,j = 70
(B)按值调用:i = 50,j = 60;通过参考致电:i = 50,j = 70
(C)按值调用:i = 10,j = 70;通过引用致电:i = 100,j = 60
(D)按值调用:i = 100,j = 60;通过引用致电:i = 10,j = 70答案: (D)
说明:按值调用:将传递参数的副本,并且执行的任何更新仅对该副本有效,而保留原始值不变。通过引用调用:通过允许函数操纵原始变量,将传递到原始变量的链接。这个问题的测验