函数f()、g()的定义如下所示。已知调用f时传递给其形参x的值是1,若以传值方式调用g,则函数f的返回值为__(1)__;若以传引用方式调用g,则函数f的返回值为__(2)__ 。
空白(1)处应选择()
A.3
B.4
C.6
D.7
参考答案:A
解析:
本题考查程序设计基础知识。在传值调用方式下,将实参的值传递给形参,分配给实参变量和形参变量的存储单元之间无相关性,各自使用,互不干扰。在引用调用 方式下,实参变量和形参变量的对应的存储单元是同一个,在被调用函数中修改形参实质上就修改了实参变量的值。对于本题,在传值方式下,函数f的参数x、局 部变量a和函数g的参数y分别对应不同的存储单元,如下图所示:因此,以传值方式调用g,函数f执行结束时,返回值为3。在传引用方式下,函数f的参数x、局部变量a分别对应不同的存储单元,函数g的参数y与实参x引用同一个存储单元,如下图所示。因此,以传值方式调用g,函数f执行结束时,返回值为3。