函数t、f的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数中以传值调用(call by value)方式调用函数f时,输出为_______;在函数t中以引用调用(call by reference)方式调用函数时,输出为_____

admin2019-06-12  30

问题 函数t、f的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数中以传值调用(call by value)方式调用函数f时,输出为_______;在函数t中以引用调用(call by reference)方式调用函数时,输出为_______。

(4)

选项 A、12
B、16
C、20
D、24

答案B

解析 本题主要考查函数调用时参数的传递方式。如果采用传值方式调用,则形参值的变化不会影响实参;如果采用引用方式调用,则形参值的变化会直接反映到实参。
    本题中如果在函数t中采用传值方式调用函数f,a的值传给形参r,在函数f中,a的值变为6,r的值为10并返回赋给变量x,由于a是全局变量,退出函数f后a的值依然为6,所以函数t的输出结果为16。如果函数t采用传值方式调用函数f,则形参r就是对实参a的引用,对r的修改就是对a的修改,在执行a=r+1时,a和r的值都变为6,执行r=r*2,a和r的值都变为12,并将r的值返回给x,因此函数t的输出结果为24。
转载请注明原文地址:https://kaotiyun.com/show/fzCZ777K
0

最新回复(0)