用static修饰的变量只在初次运行时进行初始化工作,且只进行一次。
如果没有进行初始化,对于整形变量系统会自动对其赋值为0,对于字符变量系统会自动对其赋值为‘\0’。
sub( int *s)
{
static int t=0;<span style="font-family: Arial, Helvetica, sans-serif;">//静态变量只进行一次初始化。</span>
t=*s + t;
return t;
}
void main(void)
{ int i, k;
for (i=0; i<4; i++)
{ k=sub(&i);
cout<<“sum=“<<k<<‘\t’;
}
cout<<“\n”;
}
结果如下: