为什么这样是错的

来源:5-9 递归函数练习

慕工程7799284

2020-01-09 17:50

#include <stdio.h> 

/* 

 * 请使用递归函数完成本题

 * 小编已将正确代码放在左侧任务的“不知道怎么办”里

 * 小编希望各位童鞋独立完成哦~

 */


int getAge(num)

{

    int age;

    if(num==1){

     age=10;   

    }

    else

    {

    age=getAge(num-1)+2;

    return age;

    }

}




int main() 

{

    int fifthAge=getAge(5);

printf("第5个人的年龄是%d岁", fifthAge); 

return 0;

}


写回答 关注

1回答

  • 慕用5312819
    2020-01-10 16:56:00
    #include <stdio.h>
    int getAge(num){  
      int age;    if(num==1)
    {     age=10;    }  
      else {    age=getAge(num-1)+2;    }  
         return age;
         }
         int main(){   
          int fifthAge=getAge(5);
          printf("第5个人的年龄是%d岁", fifthAge);
          return 0;
          }

    在返回函数时不应该写在else里面,而写在后面时才能实现递归调用

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926026 学习 · 20793 问题

查看课程

相似问题