函数f()、g()的定义如下所示,已知调用 f 时传递给其形参 x 的值是 10

练习题库2022-08-02  37

问题 函数f()、g()的定义如下所示,已知调用 f 时传递给其形参 x 的值是 10。若在f中以 传值方式调用 g,则函数f 的返回值为(   );若以引用方式调用 g,则函数f 的返回值为(   )。A.10B.15C.25D.30

选项 A.10
B.15
C.25
D.30

答案 C

解析 本题考查程序语言基础知识。 若实现函数调用时,将实参的值传递给对应的形参,则称为是传值调用。这种方式下形式参数不能向实参传递信息。引用调用的本质是将实参的地址传给形参,函数中对形参的访问和修改实际上就是针对相应实际参数变量所作的访问和改变。
根据题目说明,当调用函数 f 时,形参 x 首先得到 10,接下来以传值方式调用函数 g,也就是将f中 x 的值传给 g 的参数 x 。在这种情况下,系统为f 中的 x 与 g 中的 x 分 别分配存储单元。执行 g 中的 "x=x+5" 运算后, g 中 x 的值变为 15,返回值15 存入 f 的变量 y (即y 的值变为 15),而f中 x 的值没有变,因此函数 f 的返回值为 25 (x=10 , y=15)。
在引用方式调用 g 时, g 中对其形参 x 的修改可视为是对调用 g 时实参的修改,因 此调用 g 之后,f 中的 y 得到返回值 15,f 中的 x 也被修改为 15,所以f的返回值为 30。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2426968.html

最新回复(0)