函数f30、g30的定义如下所示,已知调用f时传递给其形参x的值是10。若在f中

考试题库2022-08-02  23

问题 函数f30、g30的定义如下所示,已知调用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的值变为10),而f中x的值没有变,因此函数f的返回值为25(x=10,y=15)。
在引用方式调用g时,g中对其形参x的修改可视为是对调用g时实参的修改,因此调用g之后,f中的y得到返回值15,f中的x也被修改为15,所以f的返回值为30。
转载请注明原文地址:https://tihaiku.com/congyezige/2425388.html

最新回复(0)