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

有下列程序: 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。

分类:其他