1.自动变量每次进入作用域时,都会初始化一次,但是静态变量只在程序开始时初始化一次。
2.当执行退出函数后,静态变量不会销毁。
void test1(void); void test2(void); int main(void) { int i; for(i=0;i<5;++i) { test1(); test2(); } return 0; } void test1(void) { int count=0; printf("test1 count=%d\n",++count); } void test2(void) { static int count=0; printf("test2 count=%d\n",++count); }
输出: