
刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
单选题
函数f30、g30的定义如下所示,已知调用f时传递给其形参x的值是10。若在f中以传值方式调用g,则函数f的返回值为( );若以引用方式调用g,则函数f的返回值为(请作答此空)。


A
B
C
D
使用微信搜索喵呜刷题,轻松应对考试!
答案:
解析:
本题考查程序语言基础知识。
若实现函数调用时,将实参的值传递给对应的形参,则称为是传值调用。这种方式下形式参数不能向实参传递信息。引用调用的本质是将实参的地址传给形参,函数中对形参的访问和修改实际上就是针对相应实际参数变量所作的访问和改变。
根据题目说明,当调用函数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的返回值为x=10,y=15,即25。
- 若以引用方式调用g,g中对其形参x的修改可视为是对调用g时实参的修改。因此调用g之后,f中的y得到返回值15,f中的x也被修改为15,所以f的返回值为x=y=15,即30。
综上所述,若以传值方式调用g,函数f的返回值为25;若以引用方式调用g,函数f的返回值为30。题目中询问的是两种情况下的返回值,因此答案为D。
创作类型:
原创
本文链接:函数f30、g30的定义如下所示,已知调用f时传递给其形参x的值是10。若在f中以传值方式调用g,则
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



