考证宝(kaozhengbao.com)

已知函数f( ),g( )的定义如下所示,调用函数f( )时传递给形参x的值是5,若g(a)采用引用调用(call by reference)方式传递参数,则函数f( )的返回值为( );若g(a)采

考证宝 分享 时间: 加入收藏

考试:

问题:

已知函数f( ),g( )的定义如下所示,调用函数f( )时传递给形参x的值是5,若g(a)采用引用调用(call by reference)方式传递参数,则函数f( )的返回值为( );若g(a)采用值调用(call by value)的方式传递参数,则函数f( )的返回值(请作答此空)。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以2。
A:35
B:32
C:11
D:7

答案:

D

解析:

引用调用:在按引用调用时,过程的形式参数取得的是实际参数所在的单元地址。在过程中,对该形式参数的引用相当于对实际参数所在的存储单元的地址引用。任何改变形式参数值的操作会反映在该存储单元中,也就是反映在实际参数中,因此数据的传送是双向的。传值调用:在按值调用时,过程的形式参数取得的是实际参数的值。在这种情况下,形式参数实际上是过程中的局部变量,其值的改变不会导致调用点所传送的实际参数的值发生改变,也就是数据的传送是单向的。本题:采用的是传值调用方式执行,x=5,函数g中x=2*3=6,但a这时的值仍然为2,最后a+x=2+5=7,

相关标签:

(中级)软件评测师     函数     调用     形参     软件评测     已知    

热门排序

221381
领取福利

微信扫码领取福利

微信扫码分享