使用静态变量的方法求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)。

你可能感兴趣的:(静态变量)