函数t( )、f( )的定义如下所示,若调用函数t时传递给x的值为5,并且调用函数F( )时,第一个参数采用传值(callbyvalue)方式,第二个参数采用传引用(callbyreference)方式,则函数t的返回值为( )。

- A.33
- B.22
- C.11
- D.负数
正确答案及解析
正确答案
A
解析
传值调用形参改变不会改变原实参的值,传址调用形参改变会改变原实参的值。
当程序执行到函数t中,调用f(x,a)时,x=5,a=16。
当程序在f(x,a)中执行完成之后,对r的值的改变,并不会影响原实参值,但对s的修改会改变调用的原实参值,在f(x,a)中执行完成之后s的值变为38,所以对应原实参值a也变为38,而原实参x的值没有改变,仍然是5。最后返回值是:a-x,即38-5=33。





