unsigned int fac(unsigned int x) reentrant
{
if(x==1) return 1;
else return (fac(x-1)*x);
}
void main()
{
unsigned int k;
TMOD=0x20;
TH1=TL1=0xF0;
SCON=0x52;
TR1=1;
printf("Please input a nuber:\n");
scanf("%d",&k);
printf("Fac(%d)=%d",k,fac(k));
while(1);
}