int fac(int n)
{static int f=1;
f=f*n;
return(f);
}
main()
{int i;
for(i=1;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
第三行的 f=f*n 当main中 i=3时,不就是f=1*3 了吗,为啥是 3!
第三行的 f=f*n 改成f=fac(n-1)*n 用
递归调用怎么不行啊???
int fac(int n)
{static int f=1;
f=f*n;
return(f);
}
main()
{int i;
for(i=1;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
第三行的 f=f*n 当main中 i=3时,不就是f=1*3 了吗,为啥是 3!
第三行的 f=f*n 改成f=fac(n-1)*n 用
递归调用怎么不行啊???
本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网