教资会网络 | UGC NET CS 2016 年 8 月 – III |问题 21
假设程序“P”正在使用“引用调用”实现参数传递。
在 P 中遵循 print 语句将打印什么?
程序 P( )
{
x = 10;
y = 3;
函数 (y, x, x)
打印 x;
打印 y;
}
函数 (x, y, z)
{
y = y + 4;
z = x + y + z;
}
(一) 10、7
(乙) 31, 3
(三) 10、3
(D) 31, 7答案:(乙)
解释:程序 P( )
{
x = 10;
y = 3;
函数 (y, x, x)
打印 x;
打印 y;
}
函数 (x, y, z)
{
y = y + 4;
z = x + y + z;
}
因为,它是通过引用调用的,所以地址将作为参数传递:
即 P( )
{
x = 10;
y = 3;
乐趣 (&y, &x, &x)
打印 x;
打印 y;
}
funb (x, y, z) //funb (&y, &x, &x) //
{
y = y + 4; //在 &x 14 处将被赋值 //
z = x + y + z; // 现在 &x 将被赋值为 3 + 14 + 14 = 31。
}
y 没有变化,并且 x 在 printf 调用时更新两次,它将打印 x = 31 和 y = 3。
所以,选项(B)是正确的。
这个问题的测验