为什么这种问题我每次都错?!!!

来源:百度知道 编辑:UC知道 时间:2024/06/24 00:45:34
void fun()
{ static int a;
a+=2;
printf("%d",a);
}
main()
{ int cc;
for (cc=1;cc<=4;cc++)
printf("\n");
}
谁能帮我请解一下static啊??怎么我觉得理解了,做了题却永远是错的??

void fun()
{ static int a;
a+=2;
printf("%d",a);
}
main()
{ int cc;
for (cc=1;cc<=4;cc++)
{ fun();
printf("\n");
}
} 这样就好了

static 变量存放在进态存储区,其内存空间是不随函数的退出而释放的.

每执行一次fun(), a就在上一次的基础上+2, 很好理解的啊.