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

单选题

已知函数f()、g()的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用(callbyreference)方式传递参数,则函数f的返回值为(1);若g(a)采用值调用(callbyvalue)的方式传递参数,则函数f的返回值(2)。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以2。

2、______

A
35
B
32
C
11
D
7
使用微信搜索喵呜刷题,轻松应对考试!

答案:

D

解析:

根据题目描述,函数f中调用了函数g,并将值传递给形参x。函数g的调用方式有两种,一种是引用调用,一种是值调用。在引用调用方式下,形参a直接获取实参x的地址,因此函数g中对a的操作会直接影响到x的值;而在值调用方式下,形参a是实参x的副本,函数g中对a的操作不会影响到x的值。

对于函数调用f(x),当x=5时,如果采用引用调用方式,执行g(a)后,x的值变为6。因此,在函数f中计算a+x时,结果为6+5=11。如果采用值调用方式,由于g(a)对a的操作不会影响到x的值,所以x仍然为5。在函数f中计算a+x时,结果为2+5=7。根据题目描述,函数f的返回值分别为1和2,对应的就是引用调用和值调用的结果。因此,当题目中提到的是值调用方式时,函数f的返回值为7,答案为D。

创作类型:
原创

本文链接:已知函数f()、g()的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用(ca

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

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

分享考题
share