这个C程序,有什么问题?

来源:百度知道 编辑:UC知道 时间:2024/05/17 00:20:04
#include <stdio.h>
float fac(int n)
{float f;
if(n>1) f=fac(n-1)*n;
if(n==0||n=1) f=1;
if(n<0) f=-1;
return f;
}
void main()
{int m;
float y;
clrscr();
scanf("%d",m);
y=fac(m);
printf("%f",y);
}

程序三个地方错误,修改后正确的程序如下:

#include <stdio.h>
float fac(int n)
{float f;
if(n>1) f=fac(n-1)*n;
if(n==0||n==1) f=1;
if(n<0) f=-1;
return f;
}
void main()
{int m;
float y;
scanf("%d",&m);
y=fac(m);
printf("%f",y);
}

错在那里??