单选题
有以下程序:
#include
int sumf(int x[],int n)
{
static int sum=0,i=0;
for(;1<n;1++)sum+=x[i];
return sum;
}
void main()
{int a[]={1,2,3,4,5},b[]={7,8,9,10},ss=0;
ss=sumf(a,5)+sumf(b,4);
printf(''%d\n'',ss);
}
程序执行后的输出结果是( )。
【正确答案】
B
【答案解析】解析:静态变量的值一直在内存中保持,所以子函数中的sum和i在下次调用的时候,其值不会被初始化,第1次调用结束sum=15,i=5;第2次调用时由于i=5,所以不会执行求和操作,只返回sum的值,此时sum=15,所以主函数中ss=15+15=30。