#include <stdio.h>
float fact(int n);
int main()
{
int i;float a;
printf("输入需要求阶乘的数\n");
scanf("%d",i);
a=fact(i);
printf("%d !=%f\n",i,a);
return 0;
}
float fact(int n)
{
if (n==0) return 1;
else
{
return fact(n-1)*n;
}
}
改好了,改了两点:
1)int i=0; // 要初始化
2)scanf("%d",&i); // i别忘了加地址符
#include <stdio.h>原来的程序有什么问题?