#include <stdio.h>
int F(int n)
{
int R;
if(n<0)
{
printf("wrong!\n");
return 0;
}
else if(n==1||n==0)
{
printf("1\n");//为什么每次都会把这个“1”输出,即使n既不等于1也不等于0?
return 1;
}
else
{
R=F(n-1)*n;
}
return R;
}
int main()
{
int n;
printf("Please input:\n");
scanf("%d",&n);
printf("%d",F(n));
}
因为F(n-1)*n;
当n减到1时完成n的阶乘,同时输出1.