缓存的本质是让热数据接近目的地, 用简单程序结束本文:
#include <stdio.h>
int a[100] = {0}; // 缓存
int jieCheng(int n)
{
	if(0 == n || 1 == n)
	{
		a[n] = 1;
		return a[n];
	}
	if(0 == a[n])
	{
		a[n] = n * jieCheng(n - 1);
		return a[n];
	}
	return a[n];
}
int main() 
{
	int i = 0;
	for(i = 0; i < 15; i++)
	{
		printf("%d\n", jieCheng(i) );
	}
	return 0;
}
      结果: 
1
 1
 2
 6
 24
 120
 720
 5040
 40320
 362880
 3628800
 39916800
 479001600
 1932053504
 1278945280