选择题   有以下程序:
    #include<stdio.h>
    int fun()
    {
    static int x=1;
    x+=1;
    return X;
    }
    main()
    {
    it i,s=1;
    for(i=1;i<=5;i++)  s+=fun();
    printf('%d\n',s);
    }
    程序运行后的输出结果是______。
 
【正确答案】 D
【答案解析】fun函数中的变量x为静态局部变量,占用固定的内存单元,下一次调用时仍可以保留上次调用时的直。也就是说,如果多次调用fun函数,x的定义只在第一次调用时有效,从第二次调用开始,x的定义相当于不存在,直接使用上次x的值。fun函数被调用了5次,每次调用后的返回值累加到s上。5次调用后,x的值为6,s的值为1+2+3+4+5+6=21,因此D选项正确。