函数递归详解

来源:互联网 发布:python3 网络爬虫书籍 编辑:程序博客网 时间:2024/05/17 08:34

函数(C语言的核心)

专题六:函数(C语言的核心)。包括以下章节:

  • 认清函数的真面目
  • 可变参数列表
  • 李逵和李鬼
  • 函数调用行为
  • 函数递归详解
  • 函数设计技巧

递归概述

  1. 递归是数学领域中概念在程序设计中的应用
  2. 递归是一种强有力的程序设计方法
  3. 递归的本质为函数内部在适当的时候调用自身

递归函数

C递归函数有两个主要的组成部分:

  1. 递归点 – 以不同参数调用自身
  2. 出口– 不在递归调用

这里写图片描述

实例分析5-1

5-1.c

#include <stdio.h>int func(int x){    if( x > 1 )    {        //递归点        return x * func(x - 1);    }    else    {        //出口        return 1;    }}int main(){    printf("x! = %d\n", func(4));    return 0;}

小结

  1. C语言中的递归函数必然会使用判断语句
  2. 递归函数在编写的时候需要定义函数的出口,否则栈会溢出
  3. 递归函数是一种分而治之的思想
原创粉丝点击