按名称调用会影响传递给函数的参数变量,就像按引用调用一样,还是像按值调用一样?

问题描述 投票:1回答:1

假设我有一个整数array a

a[0] = 1
a[1] = 2
a[2] = 3

和没有特定语言的功能

func swap(int l, int r){
  int temp = l;
  l = r;
  r = temp;
}

如果执行,我的array a的最终值是多少?>

int i = 1;
swap(i,a[i]);

按值调用,按引用调用和按名称调用?

我认为按值调用将给我相同的整数数组a = [1,2,3],因为函数内的更改对传入的参数无效。

并且通过引用进行调用会给我结果a = [1,1,3],那么按名称进行调用呢?您能告诉我评估的步骤吗,我只知道到目前为止,它将直接将i和a [i]传递给函数调用,但不知道会受到什么影响。

编辑:我误解了问题,数组a

最初应该是a = [1,2,3],而不是a= [10,20,30]

假设我有一个整数数组aa [0] = 1 a [1] = 2 a [2] = 3,并且没有特定语言的函数func swap(int l,int r){int temp = l; l = r; r =温度; }我最终的...值是多少?

pass-by-reference pass-by-value pass-by-name
1个回答
0
投票

我不知道自Algol 60以来,有没有实现“按名称呼叫”的语言(在那个时代可能还有一些紧密的派生词)。

© www.soinside.com 2019 - 2024. All rights reserved.