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

解决: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;
    }
}

 

posted on 2023-04-14 21:55  阿霖找BUG  阅读(1185)  评论(0)    收藏  举报