#include
void f(int);
main()
{
int n;
unsigned long fac;
scanf("%d", &n);
fac=f(n);
if(fac)
printf("%d",fac);
}
void f(int n)
{
if(n<=0||n>10)
{
printf("error");
return 0;
}
else if(n==1) return 1;
else return n*f(n-1);
}
函数调用是不写返回值的
递归求阶乘
你写的这个程序已经没有改的意义了,从算法到语句格式,错误百出。