晓觉懿 发表于 2020-5-25 22:30:21

大神求解

#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:41:31

本帖最后由 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;
}

热气球 发表于 2020-5-25 22:41:36

#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]
查看完整版本: 大神求解