问题 单项选择题

函数f()、g()的定义如下所示。己知调用f时传递给其形参x的值是1,若以传值方式调用g,则函数f的返回值为(1);若以传引用方式调用g,则函数f的返回值为(2)

2()

A.3

B.4

C.6

D.7

答案

参考答案:B

解析:

在传值调用方式下,将实参的值传递给形参,分配给实参变量和形参变量的存储单元之间无相关性,各自使用,互不干扰,在引用调用方式下,实参变量和形参变量的对应的存储单元是同一个,在被调用函数中修改形参实质上就修改了实参变量的值。对于本题,在传值方式下,函数f的参数x、局部变量a和函数g的参数y分别对应不同的存储单元。因此,已传值方式调用g,函数f执行结束时,返回值为3。

在传引用方式下,函数f的参数x、局部变量a分别对应不同的存储单元,函数g的参数y与实参x引用同一个存储单元。因此,以传值方式调用g,函数f执行结束时,返回值为4。

判断题
单项选择题