0
A
回答
1
void recursive(int* data)
{
//TODO: do something useful, for now just increment by one;
*data+=1;
if (*data>99)
{
return;
}
else
{
recursive(data);
}
}
+2
该函数将**从不**返回,并且会陷入无限循环,因为函数中没有任何**破坏**条件。 – Lion 2011-12-30 16:09:20
2
虽然是从你的问题未清除的,可以同时使用递归功能明显传递从以前的调用函数参数(S)。
递归是在自相似的方式重复项的过程。对于 实例,当两个镜子的表面与 彼此完全平行时,出现的嵌套图像是递归的无限形式。该术语具有各种各样的涵义,从语言学到逻辑学各种各样的专业。递归最常见的应用是数学和计算机科学,其中涉及定义函数的方法,其中定义的函数被应用在其自己的定义中。 具体而言,这使用有限表达式来定义无限数量的实例(函数 值),对于某些实例,该有限表达式可以将 引用到其他实例,但是以这样的方式不会发生引用的循环或无限链条 。该术语还更一般地用于描述以自相似的方式重复对象的过程。
例子
•河内
的塔•编写链表向后
•递归插入
•8皇后
•认识简单的语言
•前缀表达式
•转换前缀后缀
该递归计算一个数的阶乘简单的例子。
unsigned int factorial(unsigned int n)
{
if (n <= 1)
return 1;
else
return n * factorial(n-1);
}
函数递归调用自己的输入的较小版本(N - 1)和用n乘以递归调用的结果,直至达到基体的情况下,类似的阶乘的数学定义。
在使用递归函数时,您总是需要通过在函数中强加一些机制(如if
条件)来明确地中断该函数,否则调用将永远不会返回。
相关问题
- 1. 递增一个参数和递归
- 2. C#的Process.Start传递参数递归
- 3. 如何在导航到前一个屏幕时传递参数?
- 4. 如何在参数中传递参数
- 5. Scala - 在递归函数中匹配传递的参数类型
- 6. 如何传递参数传递给另一个方法?
- 7. 在addeventlistener中传递一个参数 - javascript
- 8. NSURL传递一个参数
- 9. 具有可变数量参数的递归函数 - 如何传递左参数?
- 10. 在一个函数中传递一个参数在另一个函数中被“参考”传递
- 11. 在递归PowerShell脚本中传递参数
- 12. 在递归中传递对象参数有效吗?
- 13. 递归函数得到一个参数
- 14. 如何在参数中传递数组
- 15. 如何在函数中传递参数?
- 16. Java递归按值传递/参考
- 17. 递归函数在参数不为NULL时传递NULL指针
- 18. sizeof()如何在传递引用参数中传递
- 19. 通过传递一个列表在Python中递归调用一个函数
- 20. 传递函数作为参数传递给另一个函数
- 21. 如何在@selector中传递参数?
- 22. 如何在Angularjs中传递参数$ http.post
- 23. 如何在Scite中传递参数?
- 24. 如何在php webservice中传递参数?
- 25. 如何在控件中传递参数?
- 26. 我如何在angularjs中传递参数?
- 27. 如何在UriTemplate中传递DateTime参数?
- 28. 如何在php exec()中传递参数?
- 29. 如何在Django中传递参数值?
- 30. 如何在Crystal Reports中传递参数?
你能举个例子说明你想要达到的目标吗? – 2011-12-30 15:21:58
你需要发表一些代表你的意思的实际东西。 – Lion 2011-12-30 15:22:29
你是什么意思?你能给个例子吗?递归通常要求你传递前一个函数的参数。 – 2011-12-30 15:22:30