main.c: In function ‘main’: main.c:7:14: warning: implicit declaration of function ‘factorial’ [-Wim

发布时间 2023-04-14 22:03:00作者: 阿霖找BUG

先写了主函数(主函数位置在最前),然后在主函数里调用了其他函数,但是这样调用的话先运行的是主函数,当主函数结束时,还没运行到调用函数,所以才会报错。

解决:main函数在最后(推荐);使用函数声明;

#include <stdio.h>

int main()
{
    long factorial(int a);//函数声明
    int a;
    scanf("%d",&a);
    printf("%d",factorial(a));
   return 0;
}

long factorial(int a){
    if(a==1){
    return a;
    }
    else{
        return factorial(a-1)*a;
    }
}