初学者的一个小程序求9999
我是初学者我想用递归函数做一个输出s=1!+2!+3!+4!+...+n!的程序为什么输出的结果却跟我想的不一样.请指大虾们指教.
long sky(int n,int s)
{
if(n<=0) printf("error");
else if(n=1) s=1;
else s=n*sky(n-1,s);
return(s);
}
main()
{
long n,i,s,k;
s=0;
k=1;
scanf("%d",n);
for(i=n;i>=1;i--)
s+=sky(i,k);
printf("%d",s);
}