有以下程序: int fun(int x[],int n) {static int sum=0,I; for(i=0;i<n;i++)sum+=x[i]; return sum; } main() {int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0; s=fun(a,5)+fun(b,4);printf("%d\n",s); } 程序执行后的输出结果是( )。A.45B.50C.60D.55

题目

有以下程序: int fun(int x[],int n) {static int sum=0,I; for(i=0;i<n;i++)sum+=x[i]; return sum; } main() {int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0; s=fun(a,5)+fun(b,4);printf("%d\n",s); } 程序执行后的输出结果是( )。

A.45

B.50

C.60

D.55


相似考题
参考答案和解析
正确答案:C
解析:fun函数中用static声明的局部变量sum的值在函数调用结束后不消失而保留原值,即占用的存储单元不释放,在下一次调用该函数时,该变量已有值,就是上一次函数调用结束时的值。
更多“有以下程序:int fun(int x[],int n){static int sum=0,I;for(i=0;i<n;i++)sum+=x[i];return sum; ”相关问题
  • 第1题:

    以下程序段计算1~50中是7的倍数的数字之和,括号中应填 int i,sum=0; for(i=1;i<=50;i++) if() sum+=i; printf(“%d”,sum);

    A.(int)(i/7)= =i/7

    B.(int)i/7= =i/7

    C.i%7=0

    D.i%7= =0


    D

  • 第2题:

    下面程序的功能是计算:至50中是7的倍数的数值之和,请选择填空. main() { int i,sum= 0; for(i=1;i<=50;i++) if(__) sum+=i; printf("%d",sum); }

    A.(int)(i/7)==i/7

    B.(int)i/7==i/7

    C.i%7= 0

    D.i%7==0


    (i%7)

  • 第3题:

    如下程序中实现sum=1+2+3+...+n的程序是

    A.int sum=0,i; for(i=0;i<n;i++)sum+=i;

    B.int sum=0,i; for(i=0;i<n;i++); sum+=i;

    C.int sum=0,i; for(i=1;i<=n;i++); sum+=i;

    D.int sum=0,i; for(i=1;i<=n;i++) sum+=i;


    A循环找到末尾结点,然后赋值给第一个结点,所以选择A)。

  • 第4题:

    下面程序的功能是计算:至50中是7的倍数的数值之和,请选择填空. main() { int i,sum= 0; for(i=1;i<=50;i++) if(__) sum+=i; printf("%d",sum); }

    A.(int)(i/7)==i/7

    B.(int)i/7==i/7

    C.i%7= 0

    D.i%7==0


    i%7==0

  • 第5题:

    程序填空,使下面程序实现输出N!(N<=10000)的十进制位数。 #include <stdio.h> #include <math.h> int main () { int i, n; double sum; sum = 0.0; scanf("%d", &n); for (i = 2; i <= n; i++) { sum +=_________; } printf ("%dn", (int)ceil(sum)); return 0; }


    01234

  • 第6题:

    已定义整型变量i和sum,与以下程序段功能一样的程序有()。 sum=0; for(i=1;i<=100;i++)sum+=i;

    A.sum=0;i=1;for(; i<=100;i++) sum+=i;

    B.sum=0;for(i=1;i<=100;){i++;sum+=i;}

    C.sum=0;for(i=1;i<=100;) sum+=i;i++;

    D.sum=0;for(i=1;;i++ )


    sum=0;i=1; for( ; i<=100;i++) sum+=i;;sum=0;for(i=1;i<=100; ){ sum+=i;i++;}