例8.17考察静态局部变量的值。
f(int a)
{auto b=0;
static c=3;
b=b+1;
c=c+1;
return(a+b+c);

main()
{int a=2,i;
 for(i=0;i<3;i++)
 printf("%d ",f(a));

运行结果为:
789
在第1次调用f函数时,b的初值为0,c的初值为3,第1次调用结束时,b=1,c=4,a+b+c=7。由于c是静态局部变量,在函数调用结束后,它并不释放,仍保留c=4。在第2次调用f函数时,b的初值为0,而c的初值为4(上次调用结束时的值)。