函数f和g的定义如下图所示。执行函数f时需要调用函数g(a),若采用值调用方式(

admin2022-08-02  108

问题 函数f和g的定义如下图所示。执行函数f时需要调用函数g(a),若采用值调用方式(call by value)调用g(a),则函数f的返回值为();若采用引用(call by reference)方式调用g(a),则函数f的返回值为()。A.35B.28C.25D.13

选项 A.35
B.28
C.25
D.13

答案 A

解析 值调用方式就是把变量的值赋给一个临时变量,在对参数的调用过程使用的是这个临时变量,对临时变量的任何操作不影响原变量的值。
引用方式好比是给变量起了一个别名,实际对引用参数的调用就是对原变量的调用,操作会影响到这个变量的值。
题目都是求f(x)值,均需要调用g(a)。
首先a被赋值3,则调用g(a)即g(3)
int m=5;
m=x*m=3*5=15;//这里x值有参数赋值的,值为3
x=m-5=10;
return x+m;//返回值为25
(1)采用值调用方式时,参数a的值不随g(a)函数调用而改变,因此return=a+c=3+25=28;
(2)采用引用方式时,参数a的值随g(a)函数调用而改变,a的值随着x=m-5语句执行而变化,值为10;因此return=a+c=10+25=35;
转载请注明原文地址:https://www.tihaiku.com/congyezige/2432652.html

最新回复(0)