参考答案和解析
正确答案:D
更多“已知函数f的原型是void f(int *a,long&B) ;,变量v1、v2的定义是:int v1:long v2:下列调用语句中正 ”相关问题
  • 第1题:

    已知函数f的原型是“voidf(int*x,int&y);”,变量v1、v2的定义是“intv1,v2;”,下列调用语句中,正确的是( )。

    A.f(v1,v2)

    B.t(v1,&v2)

    C.f(&v1,v2)

    D.f(&v1,&v2);


    正确答案:B
    B。【解析】voidf(int*X,int&。y);第一个参数需要取值,第二个参数需要取地址,所以为v1为取值,&Lv2为取址。

  • 第2题:

    已知函数f的原型是void f(int*a,long&B.;,变量v1、v2的定义是: int v1;long:v2; 下列调用语句中正确的是( )。

    A.f(v1,&v2);

    B.f(v1,v2);

    C.f(&v1,&v2);

    D.f(&v1,v2);


    正确答案:D
    函数参数的3种传递方式:①将变量名作为形参和实参,即传值方式;②传递变量指针;③引用形参,本题中函数f的第一个形参为指针,那么调用f函数时,第一一个参数必须是地址,所以必须是&v1.第二个形参为引用,所以对应实参为v2即可。故本题答案为D。

  • 第3题:

    有函数原型声明: void f(int *); 主函数中有变量定义: int a,b[3],*p=&a; 下列函数调用语句错误的是_______

    A.f(&a);

    B.f(b+1);

    C.f(a);

    D.f(p);


    C

  • 第4题:

    已知函数f的原形是void f(int * a,long &B);,变量v1、v2的定义是: int v1;long v2; 下列调用语句中正确的是

    A.f(v1,&v2);

    B.f(v1,v2);

    C.f(&v1,&v2);

    D.f(&v1,v2);


    正确答案:D
    解析:* a是指针变量,对指针变量的引用应加&。

  • 第5题:

    已知函数f的原型是:void f(int*a,long &b);,变量v1、v2;的定义是int v1;long v2;正确,的调用语句是

    A.f(v1,& v2);

    B.f(v1,v2);

    C.f(& v1,v2);

    D.f(&v1,&v2);


    正确答案:C
    解析:本题考核形式参数与实在参数,参数值的传递。第一个参数是地址传递,所以在调用时要传入实参的地址,第二个参数引用传递,调用时直接写上实参即可。