已知函数f( ),g( )的定义如下所示,调用函数f( )时传递给形参x的值是5

admin2022-08-02  45

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

选项 A.35
B.32
C.11
D.7

答案 C

解析 引用调用:在按引用调用时,过程的形式参数取得的是实际参数所在的单元地址。在过程中,对该形式参数的引用相当于对实际参数所在的存储单元的地址引用。任何改变形式参数值的操作会反映在该存储单元中,也就是反映在实际参数中,因此数据的传送是双向的。本题:采用的是引用调用方式执行,x=5,右移一位之后a=2(注意不是2.5,偶数变为原来的一半,奇数变为原数减1的一半),函数g中的a的地址赋予了此时局部变量x,最后得出a=2*3=6,即a这时的值被修改为6,最后a+x=6+5=11
转载请注明原文地址:https://tihaiku.com/congyezige/2416811.html

最新回复(0)