Static变量如何归零?
f(){ static int n=0; n++; printf(“%d\n”,n);}Main(){ f(); // 1 f(); // 2 f(); // 3 // 如何归零?}f(int a){ static int n=0; n++; if(a == 0) n=0; printf(“%d\n”,n);}Main(){ f(1); // 1 f(1); // 2 f(1); // 3 // 如何归零? f(0);}
[解决办法]
自己 主动reset();
int& GetData()
{
static int s_Data;
return s_Data;
}
f(){
GetData()++;
printf(“%d\n”,n);
}
Main()
{
f(); // 1
f(); // 2
f(); // 3
// 如何归零?
GetData() = 0;
}
[解决办法]
void f(bool b = false){ static int n=0; if( b ) { n = 0; return; } n++; printf("%d\n",n);}int main(void){ f(); // 1 f(); // 2 f(); //3 f(true); return 0;}
[解决办法]
全局变量
[解决办法]
按条件或标志位清零
[解决办法]
任何时候只要n=0;就可归0;