可以利用静态局部变量在在内存中不自动释放的特性,去计算阶乘,详细代码如下:
#include <iostream>
using namespace std;
long CalcResult(int num)
{
static int result = 1;
result = num*result;
return result;
}
int main()
{
//采用静态局部变量计算阶乘
for (int i = 1;i<=5;i++)
{
long res = CalcResult(i);
cout<<i<<"! = "<<res<<endl;
}
system("pause");
return 0;
}
程序运行结果如下: