问题
单项选择题
函数f、g的定义如图所示,调用函数f时传递给形参a的值为1。若采用传值(callby value)的方式调用g(c),则函数f的返回值为()
A.7
B.5
C.4
D.3
答案
参考答案:D
解析:
[分析]: 传值调用是指把实参的值传递给相应的形参,子程序不能通过这种方式传回任何结果。首先根据函数f的定义,可知在调用g(c)之前将执行int c=a+1,根据题意,a的值为1,因此在调用之前,c的值应为2。
如果以传值调用的方式传递信息,那么,g(c)函数的执行并不会对变量c的值产生影响,因此c的值仍然是2,最后函数f返回a+c时,其值就应该是3。