#include <stdio.h>
void mian()//应该是main()
{
int i;
int fact();//函数里面不能定义其他函数,只能调用;
for(i=0;i<=5;i++)
printf("\40:%d!=%d",i,fact(i));//("i=%d,fact(i)=%d\n",i,fact(i));\n换行;
}
int fact(j)//函数定义应该在第一次调用之前;main()函数已经调用该函数;
int j;//参数应该在第一次使用之前定义,如int fact(int j)
{
int sum;
if(j==0)//递归调用的每个if都应该有return
sum=1;
else
sum=j*fact(j-1)
return sum;
}
下面是已经通过编译的代码:
#include <stdio.h>
int fact(int);
void main()
{
int i;
for(i=0;i<=5;i++)
printf("i=%d,fact(i)=%d\n",i,fact(i));
}
int fact(int j)
{
if(j==0)
return 1;
else
return j*fact(j-1);
}





2007-11-21 14:52 
