主题:求高手解释!哪有错了?
#include<stdio.h>
long fun(int n);
int main(void)
{
int num;
printf("请输入一个小于13的整数:\n");
while(scanf("%d",&num)==1)
{
if(num<0)
printf("负数没有阶乘,请再次输入:\n");
else if(num>12)
printf("请输入小于13的整数:\n");
else
printf("%d的阶乘是%ld\n",num,fun(num));
printf("请输入一个小于13的整数(q to quit):\n");
}
printf("bye!");
return 0;
}
long fun(int n)
{
long int ands;
if(n>0)
ands=n*fun(n-1);
else
ands=1;
return ands;
}
long fun(int n);
int main(void)
{
int num;
printf("请输入一个小于13的整数:\n");
while(scanf("%d",&num)==1)
{
if(num<0)
printf("负数没有阶乘,请再次输入:\n");
else if(num>12)
printf("请输入小于13的整数:\n");
else
printf("%d的阶乘是%ld\n",num,fun(num));
printf("请输入一个小于13的整数(q to quit):\n");
}
printf("bye!");
return 0;
}
long fun(int n)
{
long int ands;
if(n>0)
ands=n*fun(n-1);
else
ands=1;
return ands;
}