大神求解
#include<stdio.h>int factornal (int n);
int factornal(int n)
{
int r;
if(n==1)
return 1;
else
r=n*factornal(n-1);
return r;
}
int main(void)
{ int n;
int r;
printf("请输入n的值\n");
scanf("%d",&n);
int factornal(int n);
return 0;
}
编译后为什么不输出结果?
本帖最后由 sunrise085 于 2020-5-25 22:43 编辑
没有printf怎么会有输出?
函数调用的地方有问题哟
函数调用,你写成了函数声明了
#include<stdio.h>
int factornal (int n);
int factornal(int n)
{
int r;
if(n==1)
return 1;
else
r=n*factornal(n-1);
return r;
}
int main(void)
{ int n;
int r;
printf("请输入n的值\n");
scanf("%d",&n);
printf("%d\n", factornal(n));
return 0;
} #include<stdio.h>
int factornal (int n);
int factornal(int n)
{
int r;
if(n==1)
return 1;
else
r=n*factornal(n-1);
return r;
}
int main(void)
{
int n;
int r;
printf("请输入n的值\n");
scanf("%d",&n);
r=factornal(n);////此处函数调用,你搞成了函数声明
printf("r:%d\n",r);///另外也没有把函数的输出结果进行打印
return 0;
}
页:
[1]