函数f、g的定义如下,执行表达式“y = f(2)”的运算时,函数调用g(la)

考试题库2022-08-02  41

问题 函数f、g的定义如下,执行表达式“y = f(2)”的运算时,函数调用g(la)分别采用引用调用(call by reference)方式和值调用(call by value)方式,则该表达式求值结束后 y的值分别为(  )。A.9、 6B.20、6C.20、9D.30、9

选项 A.9、 6
B.20、6
C.20、9
D.30、9

答案 B

解析 执行y=f(2),即传参x=2至f(x)。
首先la=x+1=2+1=3。
(1)g(la)采用引用调用时,在g(la)函数中,将x记为x'以区分函数,x'=x'*x'+1=la*la+1=10,由于是引用调用,会影响形参la的取值,此时la=10,接下来计算la*x=10*2=20。
(2)g(la)采用值调用,在g(la)函数中,将x记为x'以区分函数,x'=x'*x'+1=la*la+1=10,由于是值调用,不会影响形参la的取值,此时la仍然为3,接下来计算la*x=3*2=6。
综上,本题选择B选项。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2409582.html

最新回复(0)