函数f()、g()的定义如下所示,己知调用f时传递给其形参x的值是3,若以传值方式调用g,则函数f的返回值为 (1)______ ;若以传引用方式调用g,则函数f的返回值为 (2)______ 。 (2)______ A.18 B.17 C.12

admin2019-05-11  20

问题 函数f()、g()的定义如下所示,己知调用f时传递给其形参x的值是3,若以传值方式调用g,则函数f的返回值为  (1)______ ;若以传引用方式调用g,则函数f的返回值为  (2)______ 。

(2)______
A.18
B.17
C.12
D.8

选项 A、 
B、 
C、 
D、 

答案A

解析 本题考查函数调用时的参数传递概念。
   实现函数调用时,实参要向形参传递值。参数传递指的是在函数调用时实参与形参的匹配动作。如果由实参向形参传递值,相应的调用就称为传值调用;如果传递的是实参的地址(或者通过引用传递),则称为引用调用。
   在函数f中以传值调用方式调用函数g时,将x的值(即3)传递给函数g的形参x,在函数g中,x*x即3*3赋值给定义在g中的局部变量x(形参x),而与函数f中的x无关。调用结束回到函数f后,y得到9,x的值(即3)不变,因此x+y的结果为12。
   在函数f中以引用调用方式调用函数g时,在函数g中的x与f中的x是同一个数据对象,因此x*x即3*3赋值x后,函数f中的x被修改了。调用结束回到函数f后,y得到9,x的值为9,因此x+y的结果为18。
转载请注明原文地址:https://kaotiyun.com/show/WfVZ777K
0

最新回复(0)