【c语言】分别输出1!和n!的值(要求使用静态变量)

#include<stdio.h>
/*
需求:编写程序分别输出1!到n!(要求使用静态变量)
分析:使用一个函数定义一个静态变量,用来存放每次调用完成之后 阶乘的数
例如:
	f(1) = 1
	f(2) = 2
	f(3) = 3 在f(2)的基础上直接 3*2 返回6 就可以获得该数的阶乘
**/
long f(int n);
void main(){
	
	long i,n;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		printf("%d!= %ld\n",i,f(i));

}
long f(int n){
	long static m = 1;
	return m*=n;

}

 

posted @ 2018-12-03 14:26  qxlxi  阅读(621)  评论(0编辑  收藏  举报