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

这个为什么不对啊

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


提问者:慕移动8214611 2020-03-03 20:59

个回答

  • Warm_Sweet
    2020-07-05 09:13:41

    括号的的n前面确实需要加int的,此外还要给函数一个返回值。

  • Warm_Sweet
    2020-03-07 23:34:30

    自定义函数ageone中有一个条件分支没有返回值,需要在if里面加一个return age;或者把第17行的return age;放到else外。

  • WE_Xing
    2020-03-04 10:16:10

    你把17的return age;  放到else  的外面试试