有以下程序:  #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-04-01  12

问题 有以下程序:
 #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/YBkp777K
0

随机试题
最新回复(0)