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

admin2019-05-11  33

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


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

答案B

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

最新回复(0)