函数fun1()、fun2()的定义如下所示,已知调用fun1时传递给形参x的值

资格题库2022-08-02  22

问题 函数fun1()、fun2()的定义如下所示,已知调用fun1时传递给形参x的值是-5,若以引用调用(call by reference)的方式调用fun2,则函数fun1的返回值为(  );若以值调用(call by value)的方式调用fun2,则函数fun1的返回值为(  )。A.-18B.-11C.-8D.-0

选项 A.-18
B.-11
C.-8
D.-0

答案 A

解析 本题考查程序语言基础知识。
    在传值调用方式下,将实参的值传递给形参,分配给实参变量和形参变量的存储单元之间无相关性,各自使用,互不干扰。在引用调用方式下,实参变量和形参变量对应的存储单元是同一个,在被调用函数中修改形参实质上就修改了实参变量的值。
    本题中,无论在哪种方式下,以实参-6调用函数fun2后返回的结果是相同的(为12),因此在函数funl中,x都被修改为15,在计算表达式a-x的值时,有差别的是a的值。在传值方式下,a的值没有修改,因此a-x的值为-6-12,等于-18;在引用调用方式下,a的值被修改为4,因此a-x的值为4-12,等于-8。
转载请注明原文地址:https://tihaiku.com/congyezige/2427845.html

最新回复(0)