假设通过引用参数传递调用,程序 P1 中的打印语句打印了什么?
Program P1()
{
x = 10;
y = 3;
func1(y,x,x);
print x;
print y;
}
func1(x,y,z)
{
y = y+4;
z = x+y+z;
}
(一) 10、3
(二) 31, 3
(三) 27, 7
(D)以上都不是答案:(乙)
说明:这里,我们通过引用调用来传递变量。这意味着我们将在参数中进行的更改将反映在传递的参数中。
这里,函数func1中传入的第一个变量(即y)指向变量x的地址。
类似地,函数func1 中传递的第二个变量(即x)指向变量y 的地址,函数func1 中传递的第三个变量(即x)指向变量z 的地址。
所以,我们有 y = y + 4 ⇒ y = 10 + 4 = 14
z = x + y + z ⇒ z = 14 + 14 + 3 = 31
z 将返回到 x。因此,x = 31 而 y 将保持为 3。
因此,正确的选择是B。
如果您发现上面的帖子有任何错误,请在下面发表评论。
这个问题的测验