C#递归函数添加

标签 c# recursion

测试示例:

b = 3

c = 19

常量 = 4

总和 = 55

(3 + 7 + 11 + 15 + 19 = 55)

逻辑是:使用递归函数将算术线的数字相加

但我的代码只输出“return c”行

class Program
{
    static int Line(int b, int c, int constant, int sum)
    {

        if (b > c) return c;
        return (sum = sum + (Line(b+constant, c, constant, sum)));

    }
    static void Main(string[] args)
    {

        Console.WriteLine(Line(3,19,4,0));
        Console.ReadKey();
    }
}

最佳答案

经过调试(只需放置断点并查看发生了什么)之后,您可以轻松地在当前实现中找到两个错误:

    static int Line(int b, int c, int constant, int sum) {
      if (b > c) 
        return sum; // return "sum", not "c"

      // "= b +" not " = sum +"
      return (sum = b + (Line(b + constant, c, constant, sum)));
    }

关于C#递归函数添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33261025/

相关文章:

c# - 我应该使用构造函数注入(inject)还是 IoC.Resolve?

C# 将 mm/d/yyyy 转换为 YYYYmmDD

c# - 免费的 FTP 库

Javascript递归,foreach循环不会退出?

c - 如何递归解析表达式?

c# - 回发后的模型绑定(bind)将 DateTime 属性设置为 NULL

c# - 在没有 OOP 的情况下,如何用 C 语言进行游戏开发?

javascript - isEven递归需要return语句吗?

java - 理解这个递归函数

c# - 从树或列表层次结构中查找对象