Parameters 参数传递方法

Parameters 参数传递方法,parameters,programming-languages,parameter-passing,pseudocode,Parameters,Programming Languages,Parameter Passing,Pseudocode,我在学校一直在学习编程语言,我的老师正在研究参数传递方法,我可以理解按值调用和按引用调用。然而,我仍然不明白“结果调用”、“复制输入”、“复制输出”、“按名称调用”和“按需要调用”是如何工作的 我这里有一个他给我们的伪代码的例子,我有答案,我仍然不知道它是如何工作的 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

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

我这里有一个他给我们的伪代码的例子,我有答案,我仍然不知道它是如何工作的

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]上的值是多少?我知道a[2]将保持不变。

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