参数传递方法



我在学校一直在学习编程语言,我的老师正在复习参数传递方法,我可以理解按值调用和按引用调用。然而,我仍然不明白按结果调用、复制入复制出、按名称调用和按需要调用是如何工作的。

我在这里有一个他给我们的伪代码的例子,我已经得到了答案,但我仍然不知道它是如何工作的。

void test() {
  int a[5]; 
  int i;
void f(int x) {
   a[i] = 9;
   i++;
   i = x;
}
  i = 1;
  a[1] = 7;
  a[2] = 4;
  f(a[i]);
// print i and a[1]
 }

通过每次调用,[1]的值是多少?我知道[2]会保持不变。

我认为这将帮助您更好地理解:

http://courses.cs.washington.edu/courses/cse505/99au/imperative/parameters.html

最新更新