使用静态变量的方法求n!

下面的程序可以输出1-5的阶乘值,如果需要把5改为n,则可求出1-n的阶乘值。

 1 void main()
 2 {
 3     setvbuf(stdout,NULL,_IONBF,0);
 4     int fac(int n);
 5     int i;
 6     for(i=1;i<=5;i++)
 7         printf("%d!=%d\n",i,fac(i));
 8 }
 9 
10 int fac(int n)
11 {
12     static int f=1;
13     f = f*n;
14     return f;
15 }

每次调用fac(i),输出一个i!,同时保留这个i!的值,以便下次再乘(i+1)。

posted @ 2013-09-26 20:55  Andy Cheung  阅读(556)  评论(0编辑  收藏  举报