正文

C++ 入门 第四章 例4.13 输出1~5的阶乘值2008-09-12 19:25:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/38237.html

分享到:

 

4.13 输出1~5的阶乘值(1,2,3,4,5)
#include <iostream>
using namespace std;
int fac(int);                    //函数声明
int main( )
 {int i;
  for(i=1;i<=5;i++)
   cout<<i<<!=<<fac(i)<<endl;
return 0;
 }
int fac(int n)
 {static int f=1;                    //f为静态局部变量,函数结束时f的值不释放
  f=f*n;                             //f原值基础上乘以n
  return f;
 }
 
运行结果为
1!=1
2!=2
3!=6
4!=24
5!=120
每次调用fac(i),就输出一个i,同时保留这个i!的值,以便下次再乘(i+1)
(2) 如果初始化后,变量只被引用而不改变其值,则这时用静态局部变量比较方便,以免每次调用时重新赋值。
但是应该看到,用静态存储要多占内存,而且降低了程序的可读性,当调用次数多时往往弄不清静态局部变量的当前值是什么。因此,如不必要,不要多用静态局部变量。

阅读(2833) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册