有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用原存储单元不释放在下一次该函数调用时,该变量保留上一次函数调用结束的值。这时就应该指定局部变量。
#include <iostream>
using namespace std;
int f(int a) //定义f函数,a为形参
{
auto int b=0; //定义b为自动变量
static int c=3; //定义c为静态局部变量
b=b+1;
c=c+1;
return a+b+c;
}
int main()
{
int a=2,i;
for(i=0;i<3;i++)
cout<<f(a)<<" ";
cout<<endl;
return 0;
}
运行结果:
7 8 9