0

我试图找出究竟是什么参数传递方法。他们做什么,他们有什么区别......我有以下子程序:

subprogram p(x)
   a[1] = 6;
   element = 2;
   x = x + 3;
end

a 是一个数组,只有两个元素。

a[1] = 1 
a[2] = 2
element = 1 

我们调用子程序如下:

p(a[element])

那么如果子程序使用“按值传递”、“按结果传递”、“按值结果传递”、“按引用传递”或“按名称传递”方法,结果会是什么。

我真的很困惑。提前致谢。

4

1 回答 1

0

语言会影响变量的范围以及它们在调用函数或定义函数时的绑定方式。但是,假设应用静态的词法范围规则可能是安全的。

按值传递:仅更改显式命名的变量。

a[1] = 6
a[2] = 2
element = 2

按引用传递:更改显式命名的变量和传入的内容。

a[1] = 9
a[2] = 2
element = 2

通过结果:更改显式命名的变量和传入的内容。

a[1] = 9
a[2] = 2
element = 2

按值结果传递:更改显式命名的变量和传入的内容。

a[1] = 9
a[2] = 2
element = 2

按名称传递:更改显式命名的变量和传入的内容。

a[1] = 6
a[2] = 5
element = 2
于 2013-06-02T13:38:58.537 回答