有以下程序:  #include<stdio.h>  int fun(int x[],int n)  {   static int sum=0,i;   for(i=0;i<n;i++)   sum+=x[i];   return sum;  }

admin2022-10-24  29

问题 有以下程序:
 #include<stdio.h>
 int fun(int x[],int n)
 {
   static int sum=0,i;
   for(i=0;i<n;i++)
   sum+=x
   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、55
B、50
C、45
D、60

答案D

解析 静态变量是始终存在的,当函数变量退出后,静态变量会保存数据,再次调用该函数时,以前的静态变量值仍然保留着。fun(a,5)的值是15,再次调用后sum=15,所以fun(b,4)=45,s=45+15=60。故本题答案为D选项。
转载请注明原文地址:https://kaotiyun.com/show/rWkp777K
0

最新回复(0)