程序中的問題
#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");//為什么每次都會把這個(gè)“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));
}
2016-03-13
因?yàn)镕(n-1)*n;
當(dāng)n減到1時(shí)完成n的階乘,同時(shí)輸出1.