为什么我这样从1加到10不行,如果是从1加到10我要怎么设置终止代码

来源:5-7 递归函数(一)

琪云

2021-01-19 21:44

  #include<bits/stdc++.h>

using namespace std;


int getWordNumber(int n)

{

    int sum;     //感觉是我这里限制了getWordNumber函数 应该不能这么使用sum=getWordNumber(n+1)+n;

    sum=getWordNumber(n+1)+n;

    if(n==10)

        return sum;

    else

    return getWordNumber(n+1)+n ;

}

int main()

{

    int num = getWordNumber(1);

    printf("小明第10天记了:%d个单词。\n", num);

    return 0;

}


写回答 关注

1回答

  • qq_慕斯8011535
    2021-01-26 23:46:30

     #include<stdio.h>

    //using namespace std;

    int getWordNumber(int n)

    {

        int sum;     //感觉是我这里限制了getWordNumber函数 应该不能这么使用sum=getWordNumber(n+1)+n;

        if(n==10)

        {

            return 10;

        }else

        {

              sum=getWordNumber(n+1)+n;

        }

            return sum;

    }

    int main()

    {

        int num = getWordNumber(1);

        printf("小明第10天记了:%d个单词。\n", num);

        return 0;

    }

    你的代码是先调用后再用IF判断是不是终止了,这样就永远不会终止,要先判断是否终止再继续运行。


C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题