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

哪里错了啊

#include

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

提问者:长路漫漫兮 2017-09-24 16:08

个回答

  • 慕运维0596723
    2017-09-25 20:05:52

    1. main函数后面没有后花括号

    2. 你那个括号应该填上N

    3. 你的终结条件应该写为if(n==1)。像你这种直接命令把1赋给n,然后返回10的话就只执行了if语句,后面都没有执行,当然答案也就是10了。

  • 暧x雯
    2017-09-25 11:04:12

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