函数f()、g()的定义如下所示,调用函数f时传递给形参a的值为1,若采用传值(call by value)的方式调用g(c),则函数f的返回值为(1);若采用传引用(call by reference)的方式调用g(c),则函数f的返回值为(2)。

admin2019-04-09  29

问题 函数f()、g()的定义如下所示,调用函数f时传递给形参a的值为1,若采用传值(call by value)的方式调用g(c),则函数f的返回值为(1);若采用传引用(call by reference)的方式调用g(c),则函数f的返回值为(2)。


选项 A、3
B、4
C、5
D、7

答案C

解析 调用函数f时传递给形参a的值为1,若采用传值的方式调用g(c),那么,因为c=a+1,所以,局部变量c的初始值为2。执行g(c)调用时,在g(c)函数中,只是更改了x和b的值,不会影响c值,所以,return a+c,会返回3。第1个空的正确答案为选项D。如果采用引用调用,那么,对b进行运算时,实际上也同时对c作了修改。所以,在g()函数中,x变量的结果为2*2=4,b=x/2+b=4/2+2=4。在此函数调用结束后,c值为4,所以,在f()函数中,return a+c的结果就是5。综上所述,第2空的正确答案为选项C。
转载请注明原文地址:https://jikaoti.com/ti/AzL7FFFM
0

随机试题
最新回复(0)