关于static
以下程序:
int main ()
{
for (int count = 0;count < 2;count++)
counter();
return 0;
}
void counter ()
{
int static num = 0;
cout << num++;
return;
}
在第一次给num赋值后num = 0,然后num++,所以num = 1,之后num继续存在与内存里,不随着函数counter的结束而被释放,但第二次调用counter的时候又再一次把num 赋值为0,这样的话第二次输出应该还是0啊,为什么第二次输出的结果是1呢?