#include<iostream>
using namespace std;
int fib()
{
static int a1=0;
static int a2=1;
int ret=a2;
int t=a2;
a2=a2+a1;
a1=t;
return ret;
}
int main()
{
for(int i=1;i<=10;i++)
{
cout<<fib()<<endl;
}
cout<<"Press any key to continue..."<<endl;
cin.get();
return 0;
}
上面程序是求解前十个菲波那切数列的数值,其中static Int变量的值在初始化之后当再次调用函数时,前两句不在执行。