美文网首页
函数编程中的递归思想

函数编程中的递归思想

作者: 我什么都不知道呀 | 来源:发表于2015-09-14 22:57 被阅读136次

参考资料传送门
递归_百度百科
递归_维基百科

c语言中的函数式编程,允许一个函数里面调用一个或多个函数, 例如:

void Bfun(int x) {
  printf("%d\n", x);
}

void Afun() {
  Bfun(3);
  printf("aaa");
}

在上面的代码中Afun()调用Bfun(),必须要等Bfun()的所有语句都执行完了,才会执行Afun()中剩下的语句,所以结果是如下:

3
aaa

而一个函数不仅可以调用别的函数,同时也可以调用自身(这个时候被调用函数参数一般和调用函数的参数不同),这种函数调用自身的编程思想我们就叫做递归。

举个例子:

void fun(int x) {
  if (x == 0) return;
  fun(x - 1);
  printf("%d\n", x);
}

如果其他函数调用fun时最初传入的参数为5,那么程序将如下执行:
<pre>
fun(2)内部:
x为2,非零,跳出判断;
执行fun(1) (fun(1)内部) {
x为1,非零,跳出判断;
执行fun(0) (fun(0)内部) {
x为零,返回;
}
打印x值,为1;
}
打印x值,为2;
}
</pre>

希望大家对递归能有一个简洁明了的理解!

相关文章

  • 【Scala】尾递归优化

    以递归方式思考 递归通过灵巧的函数定义,告诉计算机做什么。在函数式编程中,随处可见递归思想的运用。下面给出几个递归...

  • 函数编程中的递归思想

    参考资料传送门递归_百度百科递归_维基百科 c语言中的函数式编程,允许一个函数里面调用一个或多个函数, 例如: 在...

  • 013-函数2

    递归函数 应用场景 递归是一种编程思想 如果要遍历一个文件夹下面所有的文件,通常会使用递归来实现 递归的特点 函数...

  • 函数编程思想

    递归思想(递归函数) 递归思想的一个基本形式是:在一个函数中,有至少一条语句,又回去调用该函数自身。典型案例: 总...

  • 029_wz_hm_函数的递归

    函数的递归 函数调用自身的编程技巧成为递归 递归函数的特点 特点: 一个函数内部调用自己 函数内部可以调用其他函数...

  • python---基本知识20之递归函数&函数作用域

    递归函数其实不是编程里面所定义的函数,而是数学里面的递归,传递的是一种规律,所以叫递归函数; 我们写递归函数,其实...

  • 递归函数

    递归函数定义 编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。 要点 ...

  • Scheme学习笔记(一)——尾递归

    欢迎访问我的博客原文地址本文为SCIP课堂作业思考总结。 尾递归的定义 尾递归是函数式编程中,递归函数的一种优化手...

  • js 总结六 7-18

    递归 递归技巧 假设递归函数已经写好 寻找递推关系 将递推关系的结构转换为递归体 将临界条件加入到递归体中递归思想...

  • python的递归函数学习

    编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。递归函数不能定义为内联...

网友评论

      本文标题:函数编程中的递归思想

      本文链接:https://www.haomeiwen.com/subject/zkrkcttx.html