
刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
单选题
已知函数f()和g()的定义如下,当执行表达式"x=f(5)"时,若函数g(a)采用不同调用方式,求执行后x的值。
函数定义:

A
B
C
D
使用微信搜索喵呜刷题,轻松应对考试!
答案:
解析:
本题考查程序语言基础知识。
已知函数f和g的定义,需要分析在引用调用和值调用两种方式下,执行表达式"x=f(5)"后x的值。
在引用调用方式下:
- 调用函数f时,实参的值为5。
- 在函数f中,先通过"a=x-1"将a的值设置为4。
- 调用函数g(a)时,由于引用调用,g函数中形参y与f函数中实参a是同一对象。
- 在函数g中,经过"y=y*y-1"运算后,y的值变为15,由于引用调用,这也会改变f函数中a的值。
- 返回函数f后,再执行"a*x"运算,此时a的值为15,得到结果为75。
在值调用方式下:
- 调用函数f时,实参的值为5。
- 在函数f中,先通过"a=x-1"将a的值设置为4。
- 调用函数g(a)时,由于值调用,g函数中形参y只是获得f函数中a的值,两者是独立的对象。
- 在函数g中,经过"y=y*y-1"运算后,y的值变为15,但这不会影响f函数中a的值。
- 返回函数f后,再执行"a*x"运算,此时a的值为原始的4,得到结果为20。
因此,如果函数调用g(a)是引用调用方式,执行"x=f(5)"后x的值为75;如果函数调用g(a)是值调用方式,执行"x=f(5)"后x的值为20。
创作类型:
原创
本文链接:已知函数f()和g()的定义如下,当执行表达式"x=f(5)"时,若函数g(a)采用不同调用方式,求
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



