有以下程序 #include 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[]={

admin2015-07-31  23

问题 有以下程序
#include
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://jikaoti.com/ti/l8i0FFFM
0

最新回复(0)