下列程序的输出结果是( )。 #include<stdio.h> int b=2: int func(int*a) { b+=*a;return b;} main { int a=1,t=2; t+=func(&a): printf("%d\n",t); }A.4B.5C.6D.8

题目

下列程序的输出结果是( )。 #include<stdio.h> int b=2: int func(int*a) { b+=*a;return b;} main { int a=1,t=2; t+=func(&a): printf("%d\n",t); }

A.4

B.5

C.6

D.8


相似考题
更多“下列程序的输出结果是( )。 #include&lt;stdio.h&gt; int b=2: int func(int*a) { b+=*a;return b ”相关问题
  • 第1题:

    下列程序的输出结果是int b=2;int func(int *a){ b+=*a; return(b);}main(){ int a=2, res=2; res += func(&a); printf("%d\n",res);} A.2 B.4

    C.6 D.8


    正确答案:C
    在本题程序中,首先定义了一个全局整型变量b,并给其赋初值为2,然后定义一个函数func,该函数带有一个指针类型的形参,在函数体中,通过形参的值来改变全局变量b的值,b+=*a等价于b=b+(*a),然后通过return语句返回计算后的变量b的结果。
    在主函数中,定义两个整型变量a和res,并都赋初值为2,然后调用func函数,传递的形参是变量a的地址,即使形参指针变量a指向实参变量a的值,通过b+=*a计算,可以得到b=2+2=4。由于变量b是一个全局变量,作用域是整个程序,而非函数func,因此,在主函数中变量res的最后结果为2+4=6,程序最后的输出结果为6。

  • 第2题:

    下列程序的输出结果是()。includeint b=2;int func(int *a){b+=*a;return(b);}main(){i

    下列程序的输出结果是( )。 #include <stdio.h> int b=2; int func(int *a) { b+=*a;return(b);} main() { int a=2, res=2; res+=func(&a); printf("%d\n",res); }

    A.4

    B.6

    C.8

    D.10


    正确答案:B
    解析:对于函数体中的语句b+=*a;其中的“*”是指针运算符,*a就是main函数中变量a的值。

  • 第3题:

    下列程序的输出结果是______。 int b=2; int func(int*a) {b+=*a;return(b); } main() { int a=2,res=2; res+=func(&b); printf("%d\n,res); }

    A.4

    B.6

    C.8

    D.10


    正确答案:B
    解析:实参a按地址传递,b是全局变量,函数func中b=b+*a=2+2=4,故主函数中res=res+4=2+4=6。

  • 第4题:

    下列程序的输出结果是()。 include int b=2; int func(int*A) {b+=*a;retum b;} main(

    下列程序的输出结果是( )。

    #include<stdio.h>

    int b=2;

    int func(int*A)

    { b+=*a;retum b;}

    main()

    { int a=1,t=2;

    t+=func(&A) ;

    printf("%d\n",t);

    }

    A.4

    B.5

    C.6

    D.8


    正确答案:B
    解析:本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行时b=2+1=3,最终t=2+3=5。

  • 第5题:

    下列程序的输出结果是inClUdeiht b=2;int funC (int*a) { b+=*a;return(b);}void m

    下列程序的输出结果是 #inClUde<iostream.h> iht b=2; int funC (int*a) { b+=*a;return(b);} void main() { inta=2,res=2; res+=func(&a); cout<<res;}

    A.4

    B.6

    C.8

    D.10


    正确答案:B
    解析:在函数体语句中的b+=*a;的*是指针运算符(也称间接访问运算符),*a就是main函数中a的值。

  • 第6题:

    下列程序的输出结果是()。include int b=2; int func(int*a) { b+=*a;return b;} main(

    下列程序的输出结果是( )。 #include<stdio.h> int b=2; int func(int*a) { b+=*a;return b;} main() { int a=1,t=2; t+=func(&a); printf("%d\n",t); }

    A.4

    B.5

    C.6

    D.8


    正确答案:B
    解析:本题考查函数调用时的参数传递。在执行函数func时,由于全局定义了一个变量b,所以在函数体中执行时b=2+1=3,最终t=2+3=5。