问答详情
源自:5-9 递归函数练习

这怎么回事啊?

#include

/* * 请使用递归函数完成本题 * 小编已将正确代码放在左侧任务的“不知道怎么办”里 * 小编希望各位童鞋独立完成哦~ */ int age(int n) if(n==1) return 10; else if age= age(n-1)+2; return age; int main() {    int fiveage=age(5); printf("第5个人的年龄是%d岁",fiveage ); return 0; }这有问题吗这?

提问者:慕盖茨9561257 2017-09-06 22:33

个回答

  • 慕运维0596723
    2017-09-25 22:10:53

    1. 花括号没有打齐

    2. else if后面需要跟约束条件,而你没有,所以你的else if用法错误

    3. 等号的左边只能是变量,不能是表达式,而age是一个函数表达式。

      #include<stdio.h>

       int age(int n)
       {
          if(n==1)
       return 10;
        else
          {
              int num;
          num= age(n-1)+2;
         return num;
         }

       }
        int main()
        {    int fiveage=age(5);
        printf("第5个人的年龄是%d岁",fiveage );
        return 0;
        }



  • 慕斯0253470
    2017-09-11 10:29:25

    age()的{}呢

  • qq_塵埃_2
    2017-09-08 11:30:39

    递归一般是if{。。。}else{。。。}你怎么来了一个 else if?