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

练习题库2022-08-02  56

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

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

答案 D

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

最新回复(0)