永发信息网

c 语言题目,快啊

答案:3  悬赏:10  手机版
解决时间 2021-05-09 11:23
  • 提问者网友:我没有何以琛的痴心不悔
  • 2021-05-09 06:57

nt 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);

}答案及为什么

最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-05-09 08:20

fun函数是来求和的,但要注意有个static变量  static变量会把值保存到第二次的调用


所以第一次是1+2+3+4+5=15


但在求fun(b,4)时,是15+6+7+8+9=45


不过因为是s=fun(a,5)+fun(b,4)是  =  15 +45  结果为 60


全部回答
  • 1楼网友:鱼忧
  • 2021-05-09 11:07

结果:60

原因:因为sum为静态变量,它的作用域名为从它定义开始直到整个程序结束。而fun()函数的作用为求数组元素的和:

当fun(a,5)调用结束的时候,sum=15;当fun(b,4)执行的时候,sum的初始值还是为15不变,故fun(b,4)的结果为45,然后两部分求和:15+45=60

  • 2楼网友:渡鹤影
  • 2021-05-09 09:56
45。fun函数的功能是求数组X的和。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯