{
int a;
auto int a;//二者等价
}
register int a;
#include<stdio.h>
void func1(void);
static int count = 10;//全局变量,static是默认的
// int count = 10;//与上面的等价
int main(){
while (count--)
{
func1();
}
return 0;
}
void func1(void){
static int a = 4;//局部变量,在整个程序周期内一直存在,不会被销毁
int b = 4;//局部变量,每次进入作用域,都会被创建,离开时被销毁
b++;
a++;
printf("count=%d, a=%d, b=%d\n",count,a,b);
}
count=9, a=5, b=5
count=8, a=6, b=5
count=7, a=7, b=5
count=6, a=8, b=5
count=5, a=9, b=5
count=4, a=10, b=5
count=3, a=11, b=5
count=2, a=12, b=5
count=1, a=13, b=5
count=0, a=14, b=5