qq_六月天_0
2016-03-13 16:25
#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.
C语言入门
926028 学习 · 20793 问题
相似问题