单选题 有以下程序: #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。