#include
int f()
{static
int i=0;
int s=1;
s+=i;
i++;
return s;
}
void main()
{int i,a=0;
for(i=0;i<5;i++)
a+=f();
printf("%d",a);
}
for(i=0;i<5;i++)此题结果15,如果是a++的话,死循环,呵呵
static是静态存储类型,i一旦定义将一直到程序结束才释放,所以值为1 2 3 4 5,相加后得到15
运行结果,a=15。
在函数int f()中,static变量i,多次调用时,不会清零!
没结果,死循环。