1. 程式人生 > >【c語言】分別輸出1!和n!的值(要求使用靜態變數)

【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;

}