选择题 30.  有下列程序:
    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[]={1,2,3,4,5},b[]={6,7,8,9},s=0;
    s=fun(a,5)+fun(b,4);printf("%d<n",s);
    程序运行后的输出结果是______。
【正确答案】 C
【答案解析】 在函数int fun(int x[],int n)的定义中,变量sum为一个静态局部变量。在整个程序运行期间,静态局部变量在内存中的静态存储中占据着永久的存储单元。函数intfun(int x[],int n)的功能是求出数组x的各元素的和,所以在主函数中,调用函数fun(a,5)后,变量sum=1+2+3+4+5=15,再次调用fun(b,4)后,变量sum=15+6+7+8+9=45,所以s=15+45=60。