参考答案和解析
正确答案:A
解析:此题考查的是函数参数的传递方式。函数参数的传递方式分为传值和传地址两种。选项B)和选项C)中函数的参数是指针,而指针作为函数参数传递的是地址:选项D)中函数的参数为引用,引用传递好比是给变量起了一个别名,表明传给函数的参数值就是它本身的地址,操作会影响到这个变量的值;只有选项A)中的函数参数为传值方式。
更多“在下列原型所示的C++函数中,按“传值”方式传递参数的是( )。A.void f1(int x);B.void f2(int*x);C ”相关问题
  • 第1题:

    已知函数fl()、f2()的定义如下图所示设调用函数f1时传递给形参x的值是1,若函数调用f2(a)采用引用调用(call by refere nce)的方式传递信息,则函数n的返回值为 (32) ;若函数调用f2(a)以值调用(call liy value)的方式传递信息,则函数F1返回值为(33)。

    A.-5

    B.6

    C.15

    D.35


    正确答案:C
    本题考查程序语言基础知识。函数fl被调用而运行时,其局部变量值的变化情况如下:在调用f2(a)之前,x的值为1,a的值为5。在以引用调用方式调用f2(a)时,形参x是实参a的引用,在函数F2中的x就是函数F1中a的别名(或者说此时)与a所对应的存储单元是同一个,只是角度不同而己),因此执行函数亿时,条件表达式x>l即等同于a>l,a的值是5所以该条件表达式成立,从而执行了“x=X'*X”,就将x所对应存储单元的内容改为了25,然后结束f2的执行并将所返回的-10赋值给fl中的x,因此在f1结束时返回的值为a+x=25-10=15。在值调用方式下调用f2(a)时,是将实参£的值5传递给F2形参x,a和x所对应的存储单元是不同的,此后执行F2,由于的值是5,所以条件表达式x>l即等同于5>1,是成立的,从而执行了“x=X'*X”,此时将f2的x修改为25,与f中的a和x都无关,在结束f2执行并将返回值-10赋直给FI中的x后,fl结束时进行的计算为a+x=5-10=5。

  • 第2题:

    1、以下函数返回值的类型是()。 int fff(float x) { x=x+5; return x; }

    A.void 类型

    B.与参数x的类型相同

    C.int类型

    D.无法确定


    int类型

  • 第3题:

    以下函数返回值的类型是()。 fff(float x) { x=x+5; return x; }

    A.void 类型

    B.与参数x的类型相同

    C.int类型

    D.无法确定


    int类型

  • 第4题:

    以下函数返回值的类型是()。 int fff(float x) { x=x+5; return x; }

    A.void 类型

    B.与参数x的类型相同

    C.int类型

    D.无法确定


    D

  • 第5题:

    45、在下列原型所示的 C函数中,按“传值”方式传递参数的是()。

    A.void f1(int x);

    B.void f2(int*x);

    C.void f3(const int*x);

    D.void f4(int&x);


    void f1(int x);