这个例子是利用static的特性, staic只会被初始化一次,如果多次调用含static的函数,那么这个值会持续变化
#include<stdio.h>
void fun1()
{
static int a = 0;
int b = 0;
++a;
++b;
printf("static a = %d, int b = %d\n", a, b);
}
int main()
{
int i = 0;
for(i; i<10; i++)
fun1();
}
fun1被调用10次,但是j静态变量a被初始化1次,那会它的值每次调用都会不一样
kayshi@ubuntu:~/code/Test$ ./a.out
static a = 1, int b = 1
static a = 2, int b = 1
static a = 3, int b = 1
static a = 4, int b = 1
static a = 5, int b = 1
static a = 6, int b = 1
static a = 7, int b = 1
static a = 8, int b = 1
static a = 9, int b = 1
static a = 10, int b = 1