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

求大佬指点哪错了

#include <stdio.h> 

/* 

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

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

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

 */

 int a(b)

 {

     int c;

     if(b==1)

     c=10;

     else

     c=a(b-1)+2;

     return c;

 }

int main() 

{

    int d=b(5);

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

return 0;

}


提问者:qq_浮灬云_0 2018-09-08 07:38

个回答

  • qq_NOKARMA_dpSV03
    2018-10-13 23:26:47

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


  • 慕瓜8276891
    2018-09-09 22:01:44

    你的主函数中,应该是int d = a(5);

  • 慕九州5552665
    2018-09-09 13:59:08

    #include <stdio.h> 

    int dfs(int n) 

    {

        return n == 1 ? 10 : dfs(n - 1) + 2;

    }

    int main() 

    {

        

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

    return 0;

    }


  • 慕仙8224592
    2018-09-08 15:27:26

       c=a(b-1)+2;中的a你已经在上面自定义函数中,自定义新的函数名是a,所以a不再是赋值对象。