目录: 标题| 题干| 答案| 搜索| 相关
问题

有下列程序: int fun(int x[],int n) { static


有下列程序: 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[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0; s=fun(a,5)+fun(b,4);printf("%d\n",s); } 程序执行后的输出结果是( )。 、

  • A45
  • B50
  • C60
  • D55
参考答案
参考解析:

在函数intfun(intx[],intn)的定义中,变量sum为一个静态局部变量。由于在整个程序运行期间,静态局部变量在内存中的静态存储中占据着永久的存储单元。函数intfun(intx[],intn)的功能是求出数组x[]各个元素的和,所以在主函数中,调用函数fun(a,5)后,变量sum=1+2+3+4+5=15,当再次调用fun(b,4)后,变量sum=15+6+7+8+9=45,所以s=15+45=60。

分类:其他
相关推荐

1、若有程序 fun(int a,int b) { static int c=0

若有程序 fun(int a,int b) { static int c=0 c+=a+b; retum c; } main () { int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf("%d ",r); } 上面程序的输出结果______。A23B15C19D18

2、若有程序: fun(int a,int b) { static int c=

若有程序: fun(int a,int b) { static int c=0; c+=a+b: return c; } main() { int x=5,y=3,z=7,r; r=fun((y,x+y),z); r=fun(x,y); printf("%d ",r); } 上面程序的输出结果是______。A23B15C19D18

3、有如下程序段void fun(int *a, int *b){ int *k

有如下程序段void fun(int *a, int *b){ int *k; k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b);} 程序运行后输出的结果是A.6 3 B.3 6 C.编译出错 D.0 0A6 3 B3 6 C编译出错 D0 0

4、有以下程序fun(int *a,int n) { int i,j=0,p;

有以下程序fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<a[p]) ____; return(p);}在下画线处应填入的是A.i=p B.a[p]=a[i] C.p=j D.p=iAi=p Ba[p]=a[i] Cp=j Dp=i

5、有以下程序float fun(int x,int y){ return(x+

有以下程序float fun(int x,int y){ return(x+y);}main(){ int a=2,b=5,c=8; printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序的运行结果是A.9 B.编译出错C.21 D.9.0A9 B编译出错C21 D9.0

6、有以下函数定义: void fun(int n,double x) {……}

有以下函数定义: void fun(int n,double x) {……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是Afun(int y,double m);Bk=fun(10,12.5);Cfun(x,n);Dvoid fun(n,x);