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

单选题

已知函数f132、f232的定义如下图所示。设调用函数f1时传递给形参x的值是1,若函数调用f2(a)采用引用调用(call by reference)的方式传递信息,则函数f1的返回值为(问题1);若函数调用f2(a)以值调用(call by value)的方式传递信息,则函数f1的返回值为(问题2 )。

A
-5 问题2
B
6 问题2
C
15 问题2
D
35 问题2
使用微信搜索喵呜刷题,轻松应对考试!

答案:

A

解析:

问题1:
在引用调用方式下,函数f2中的形参x是实参a的引用。在函数f2执行时,x的值会跟随a的值变化。由于a的初始值为5,且满足条件x > 1(即a > 1),执行x = x * x后,x的值变为25。因此,函数f1的返回值a + x = 15。

问题2:
在值调用方式下,函数f2的形参x只是接收实参a的值的一个副本。在函数f2执行时,x的值不会影响到a的值。在函数f2中,即使x的值变为25,这不会改变函数f1中的a的值。因此,函数f1的返回值a + x 保持为初始值5,但由于函数调用返回的是-10,最终函数f1的返回值为-5。

创作类型:
原创

本文链接:已知函数f132、f232的定义如下图所示。设调用函数f1时传递给形参x的值是1,若函数调用f2(a

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

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

分享考题
share