我在学校一直在学习编程语言,我的老师正在复习参数传递方法,我可以理解按值调用和按引用调用。然而,我仍然不明白按结果调用、复制入复制出、按名称调用和按需要调用是如何工作的。
我在这里有一个他给我们的伪代码的例子,我已经得到了答案,但我仍然不知道它是如何工作的。
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