了解递归函数如何工作
正如标题所解释的那样,我有一个非常基本的编程问题,但我现在还无法理解。过滤掉所有(极其聪明的)“为了理解递归,您必须首先理解递归。” 来自各种在线话题的回复我还是不太明白。 了解到,当面对不知道的知识时,我们可能会提出错误的问题或错误地提出正确的问题,我会分享我“认为”的问题,希望有相貌相似的人可以分享一些一点知识,将有助于为我打开递归灯泡! 这是函数(语法用Swift编写): func sumInts(a: Int, b: Int) -> Int { if (a > b) { return 0 } else { return a + sumInts(a: a + 1, b: b) } } 我们将使用2和5作为我们的参数: println(sumInts(a: 2, b: 5)) 显然答案是14。但是我不清楚如何实现这一价值。 这些是我的2个挂断电话: 递归调用该函数,直到满足条件为止。该条件是a> b。满足此条件后,返回0。乍一看,我希望返回值为0,这显然是不正确的。 在每次迭代中打印出'a'的值会产生一个我期望的值:2、3、4、5(此时5 + 1> b满足第一个条件:a> b),但我仍然不知道看一下如何达到14的值。 我首先想到的是,与以下类似的事情正在神奇地发生: var answer …