单选题
在下列程序代码中,若主程序调用f1(x)时,参数传递采用引用方式,在f1()中调用f2(y),参数传递采用传值方式,则f1()的输出结果为 (33) ;若主程序调用f1(x)时,参数传递采用传值方式,在f1()中调用f2(Y),参数传递采用引用方式,则f1()的输出结果为 (34) 。
[*]
【正确答案】
D
【答案解析】[分析]
本题关键是看f1()调用f2()的方式。
如果实参a与形参y以传值方式传递参数的话,在f2()中执行y=y*3,不会影响a的值,所以f1()的返回值为2+4=6;如果实参a与形参y以引用方式传递参数的话,那么a与y将共享一个地址单元,对y的修改也将体现在a中,在f2()中执行y=y*3,a的值将变为12,所以f1()的返回值为2+12=14。