niusouti.com

以下程序的运行结果是sub(int x,int y,int *z){*z=y-x;}main(){ int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("M,M,M\n",a,b,c);}A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-7

题目

以下程序的运行结果是

sub(int x,int y,int *z)

{*z=y-x;}

main()

{ int a,b,c;

sub(10,5,&a);

sub(7,a,&b);

sub(a,b,&c);

printf("M,M,M\n",a,b,c);}

A.5,2,3

B.-5,-12,-7

C.-5,-12,-17

D.5,-2,-7


相似考题
参考答案和解析
正确答案:B
更多“以下程序的运行结果是 sub(intx,inty,int*z) {*z=y-x;} main() {inta,b,c; sub(10,5,&a ”相关问题
  • 第1题:

    以下程序的运行结果是include void sub(int x,int y,int*z){*z=y-x;}void main(){i

    以下程序的运行结果是 #include<iostream.h> void sub(int x,int y,int*z) { *z=y-x;} void main() { int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); cout << a <<","<< b<<"," << C << endl;}

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B
    解析:在C++语言中,调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值。了解了实参指针变量的改变情况,本题只剩下简单的“加减法”了。

  • 第2题:

    请选出以下程序的输出结果______。includesub(x,y,z)int x,y*z;{*z=y-x;}main(){int a,

    请选出以下程序的输出结果______。 #include<stdio.h> sub(x,y,z) int x,y*z; {*z=y-x;} main(){ int a,b,c; sub(10,5,&a);sub(7,a,&b);sub(a,b,&c); printf("%d,%d,%d\n",a,b,c); }

    A.5,23

    B.-5,-12,7

    C.-5,-12,-17

    D.5,2,-7


    正确答案:B
    解析:sub()函数的作用是将形参y和x的差赋给了z指向的那个内存地址,所以在sub(10,5,&a),10和5属于值传递,a是属于地址传递,也就是a与z指向了同一个存储单元,在执行函数后,a的值随*z变化,所以此次函数被调用后,a的值为y-x=-5,同理可知,在sub(7,a,&b)后,b的值发生变化其值为-5-7=-12,在sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。

  • 第3题:

    请选出以下程序的输出结果______。includesub(x,y,z)int x,y,*z;{ *z=y-x;}main(){int

    请选出以下程序的输出结果______。 #include<stdio.h> sub(x,y,z) int x,y,*z; { *z=y-x;} main(){ int a,b,c; sub(10,5,&a);sub(7,a,&b);sub(a,b,&c); printf("%d,%d,%d\n",a,b,c); }

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B
    解析:sub()函数的作用是将形参y和x的差赋给了z指向的那个内存地址,所以在sub(10,5,&a),10和5属于值传递,a是属于地址传递,也就是a与z指向了同—个存储单元,在执行函数后,a的值随*z变化,所以此次函数被调用后,a的值为y-x=-5,同理可知,在sub(7,a,&b)后,b的值发生变化,其值为-5-7=-12,在sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。

  • 第4题:

    以下程序的运行结果是( )。 #include(iostream.h> voidsub(intx,inty,int*z) {*z=y-x;} voidmain( ) {inta,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); cout((a<<","<<b<<","<<C<<endl;}

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B
    B。【解析】在C++语言中,调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值。

  • 第5题:

    请选出以下程序的输出结果______。includesub(x,y,z)int x,y,*z;{*z=y-x;}main(){int a

    请选出以下程序的输出结果______。 #include<stdio.h> sub(x,y,z) int x,y,*z; {*z=y-x;} main(){ int a,b,c; sub(10,5,&A) ;sub(7,a,&b);sub(a,b,&c); printf("%d,%d,%d\n",a,b,c); }

    A.5,2,3

    B.-5,-12,-7

    C.-5,-12,-17

    D.5,-2,-7


    正确答案:B
    解析:sub()函数的作用是将形参y和x的差赋给了z指向的那个内存地址,所以在sub(10,5,&a),10和5属于值传递,a是属于地址传递,也就是a与z指向了同—个存储单元,在执行函数后,s的值随*z变化,所以此次函数披调用后,a的值为y-x=-5,同理可知,在sub(7,a,&b)后,b的值发生变化,其值为-5-7=12,在sub(a,b,&c)后,c的值发生变化,其值为-12-(-5)=-7。