有以下程序include<stdio.h>int a=5;void fun(intB){int a=10;a+=b;pfinff(“%d”,A);}main( ){int e=20;fun(C);a+=e;printf(“%d\n”,A);}程序运行后的输出结果是【 】。

题目

有以下程序

include<stdio.h>

int a=5;

void fun(intB)

{int a=10;

a+=b;pfinff(“%d”,A);

}

main( )

{int e=20;

fun(C);a+=e;printf(“%d\n”,A);

}

程序运行后的输出结果是【 】。


相似考题
更多“有以下程序include&lt;stdio.h&gt;int a=5;void fun(intB){int a=10;a+=b;pfinff(“%d”,A);}main( ”相关问题
  • 第1题:

    以下程序的输出结果是( )。 includefun(){ int a=0;a+=3;printf("%d",A); } main() {int

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

    include<stdio.h>

    fun()

    { int a=0;

    a+=3;

    printf("%d",A);

    }

    main()

    { int cc;

    for(cc=1;cc<=4;cc++)

    fun();

    printf("\n");

    }


    正确答案:3 3 3 3
    3 3 3 3 解析:本题考查for循环,for(cc=1;cc=4;cc++)表示循环4次,a+=3表示每次a的值增加3,但是子函数中没有将变量a定义为static类型,所以每次调用完子函数之后,变量a所做的改变都不能保存,这样在下一次调用子函数时,a的初值仍是0,所以不管调用多少次,子函数输出始终是3。

  • 第2题:

    若各选项中所用变量己正确定义,fun()函数中通过return语句返回一个函数值,下列选项中错误的程序是( )。

    A.main() <……x=fun(2,10);……} float fun(int a,int b) {……}

    B.float fun(int a,int b) {……} main() {……x=fun(i,j);……}

    C.float fun(int,int); main() <……x=fun(2,10);……} float fun(int a,int B) {……}

    D.main() <float fun(int I,intj); ……x=fun(i,j);……} float fun(int a,int b) {……}


    正确答案:A
    解析:C语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)。在选项A)中,调用的子函数在调用后面定义,所以不正确。在选项B)、C)中,被调用函数在主调函数之前定义,再在主函数中调用,所以是正确的;在选项D)中,在主调函数中先对子函数float fun(int,intj)进行了定义,然后进行调用。

  • 第3题:

    若下列各选项中所有变量已正确定义,函数fun通过return语句返回一个函数值,以下选项中错误的程序是( )。

    A.main( ) {...... x = fun(2,10);......} float fun(int a, int b){......}

    B.float fun( int a,int b){......} main( ) {......x = fun(i,j);......}

    C.float fun(int, int); main( ) {......x=fun(2,10);......} float fun(iht a, int b){......}

    D.main( ) { float fun(int i, int j); ...... x = fun(i,j);......} float fun(int a,int b) {......}


    正确答案:A
    解析:C语言程序从main函数开始执行,当程序中定义了多个函数时,通常情况下是先定义后调用。若被调用函数定义在主调函数之后,则必须先声明后调用。在选项A)中,先执行main函数,并调用了fun函数,而fun函数在此调用之前无定义也无声明,故无法正常识别调用,所以错误。

  • 第4题:

    以下程序运行后的输出结果是int a=5;fun(int b){ static int a=10; a+=b++; printf("%d, ",a);}main{ int c=20; fun(c); a+=c++; printf("%d\n",a);}


    正确答案:30,25
    在本题中,程序首先定义了一个整型全局变量a,全局变量的作用域为整个程序。然后定义了一个fun函数,函数带有一个整型变量作为形参,在函数体中,首先定义了一个静态变量a,与全局变量a同名,在这种情况下,在函数fun中静态变量a具有更高的使用优先级,而在主函数中,全局变量a具有更高的使用优先级。
    在主函数中,首先定义一个整型变量c并初始化为20,然后调用fun函数,将变量c作为实参传递给函数,执行a+=b++,等价于a=a+(b++)=10+20=30,然后执行输出语句,输出变量a的结果“30,”,然后程序回到主函数中的a+=c++;语句执行,此语句等价于a=a+(c++)=5+20=25,然后输出变量a的结果25。因此,本题的程序运行后的输出结果是30,25。

  • 第5题:

    有以下程序:includeint fun(int*k){int b=0;b=*k+b:return(B);}main(){int a[10]={1,2

    有以下程序: #include<stdio.h> int fun(int*k) {int b=0; b=*k+b: return(B);} main() {int a[10]={1,2,3,4,5,6,7,8},i; for(i=2;i<4;i++){printf("%d",fun(&a[i]));} printf("\n"); } 程序运行后的输出结果是( )。

    A.10 12

    B.8 10

    C.3 4

    D.10 28


    正确答案:C