niusouti.com

●函数t、f的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数t中以传值调用(call by value)方式调用函数f时,输出为(49);在函数t中以引用调用( call by reference)方式调用函数f时,输出为(50)。(49)A. 12B. 16C. 20D. 24(50)A. 12B. 16C. 20D. 24

题目

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

(49)

A. 12

B. 16

C. 20

D. 24

(50)

A. 12

B. 16

C. 20

D. 24


相似考题
参考答案和解析
正确答案:B,D
更多“ ●函数t、f的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数t中以传值调用(call by value)方式调用函数f时,输出为(49);在函数t中以引用调用( call by refe”相关问题
  • 第1题:

    函数f()、g()的定义如下所示,调用函数f()时传递给形参x的值为1。

    若采用传引用(call by reference)的方式调用g(y),则函数f()的返回值为(49);

    若采用传值(call by value)的方式调用g(y),则函数f的返回值为(50)。

    A.3

    B.6

    C.7

    D.8


    正确答案:C

  • 第2题:

    已知函数f1()、f2()的定义如下,调用f1时为传值调用,调用f2时为引用调用。设有函数调用t=f1(5),那么调用执行后t的值为( )。

    A.1
    B.5
    C.6
    D.7

    答案:A
    解析:
    首先a=f2(x)=f2(1),代入到f2中进行运算,x的值为0,返回值为1。这里x是引用调用,所以x的终值为0,然后返回值赋给了a。所以a=1。最终t的值为a+x=1。

  • 第3题:

    已知函数f1、f2的定义如下,调用f1时为传值调用,调用f2时为引用调用。设有函数调用t=f1(5),那么调用执行后t的值为( )。

    A.1
    B.5
    C.6
    D.7

    答案:A
    解析:
    本题考查程序语言基本知识。
    首先a=f2(x)=f2(1),代入到f2中进行运算,x的值为0,返回值为1。这里x是引用调用,所以x的终值为0,然后返回值赋给了a。所以a=1。最终t的值为a+x=1。选择A。

  • 第4题:

    函数t()、f()的定义如下所示。若调用函数t()时传递给x的值为3,并且调用函数f()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t0的返回值为(33).

    A.35

    B.24

    C.22

    D.11


    正确答案:B
    解析:本题考查函数调用时的参数传递问题。采用传值方式时,是将实际参数的值传递给形式参数,对形式参数值的修改不会影响实际参数。采用引用方式时,是将实际参数的地址传递给形式参数,对形式参数进行修改,等同于是对实际参数进行修改。

  • 第5题:

    函数t( )、f( )的定义如下所示,若调用函数t时传递给x的值为5,并且调用函数F( )时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,则函数t的返回值为( )

    A.33
    B.22
    C.11
    D.负数

    答案:A
    解析:
    当程序执行到函数t中,调用f(x,a)时,x=5,a=16。当程序在f(x,a)中执行完成之后,对r的值的改变,并不会影响实参值,但对s的修改会改变调用的实参值,在f(x,a)中执行完成之后s的值变为38,所以对应实参值a也是38。最后返回值是:a-x,即38-5=33