刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
本题考查程序语言基础知识。
首先分析函数f的语句执行过程。形参x的值为5,将x的值(二进制形式高位都为0,低八位为00000101)右移一位后赋值给a,使得a的值为2(二进制形式高位都为0,低八位为00000010),然后执行函数调用g(a)。
若采用引用调用方式调用g(a),在函数g执行时,形参x相当于在函数f中a的别名。对于运算“x=x*(x+1)”,在运算前x的值为2,运算后x的值改变为6。返回到函数f后,a的值被改变为是6。由于函数f中的a和x是两个不同的数据对象,所以函数f结束时返回a+x的值为11(即5+6)。
若采用值调用方式调用g(a),在函数g执行时,形参x是一个独立的数据对象(值为2)。接下来进行运算“x=x*(x+1)”,运算前x的值为2,运算后x的值改变为6。但返回到函数f后,a的值仍然保持为2。因此,函数f结束时返回a+x的值为7(即2+5)。
本文链接:已知函数f()和G()的定义如下,函数f中形参x的值为5,分析函数f的语句执行过程。若g(a)采用引
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!