#include <stdio.h>
void fn()
{
static int x = 1; //定义静态局部变量
x*=2;
printf("x=%d\n",x);
}
int main()
{
int i;
for(i=0;i<5;i++)
{
fn();
}
//extern int x; //调用外部变量
//printf("x=%d\n",x);
return 0;
}
//int x=100;
extern int x 是调用 int x = 100 吧? 这个让我注释掉了
x是静态的,那么就不会虽然函数的调用完而消失,而是保持在那。调用了五次,乘了5次2
所以是2 4 8 16 32 最后一次调用了外部变量x 所以是100