刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

函数f30和g30的定义如下,当调用函数f时,若传递给形参x的值为10,请分析在函数f中以传值方式和引用方式调用函数g后,函数f的返回值分别是多少。

A
10
B
15
C
25
D
30
使用微信搜索喵呜刷题,轻松应对考试!

答案:

C

解析:

本题考查程序语言基础知识。

若实现函数调用时,将实参的值传递给对应的形参,则称为是传值调用。这种方式下形式参数不能向实参传递信息。引用调用的本质是将实参的地址传给形参,函数中对形参的访问和修改实际上就是针对相应实际参数变量所作的访问和改变。

根据题目说明,当调用函数f时,形参x首先得到10。接下来分析两种情况:

  1. 以传值方式调用函数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的值是g的返回值15)。
  2. 在引用方式调用g时,g中对其形参x的修改可视为是对调用g时实参的修改。因此调用g之后,f中的y得到返回值15,并且f中的x也被修改为15(因为是通过引用调用g,所以g中x的改变影响了f中的x)。所以f的返回值为30(x=y=15)。
创作类型:
原创

本文链接:函数f30和g30的定义如下,当调用函数f时,若传递给形参x的值为10,请分析在函数f中以传值方式和

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share