在下面的程序代码中,a是全局变量。若以引用调用(call by reference)方式调用函数 f,则输出结果为(1);若以值调用(call by value)方式调用函数f,输出结果为(2)。

admin2019-04-09  30

问题 在下面的程序代码中,a是全局变量。若以引用调用(call by reference)方式调用函数 f,则输出结果为(1);若以值调用(call by value)方式调用函数f,输出结果为(2)。


选项 A、10
B、40
C、36
D、72

答案B

解析 传值调用是指将实际参数的值传递给形式参数,实际参数与形式参数对应的存储单元是相互独立的,实际参数仅为形式参数提供初始值,在被调用函数中对形式参数的修改与实际参数没有关系。题目中,实际参数a的值为5,传值调用时将5传递给形式参数x,a是全局变量,函数f中对a和x的引用是两个对象,如图6-4所示,函数的返回值为36。引用调用时形式参数和实际参数对应的存储单元都是实参的单元,因此函数中对a和x的引用是同一个对象,如图6-5所示,函数的返回值为64。
转载请注明原文地址:https://kaotiyun.com/show/ftVZ777K
0

最新回复(0)