函数(C语言的核心)
专题六:函数(C语言的核心)。包括以下章节:
- 认清函数的真面目
- 可变参数列表
- 李逵和李鬼
- 函数调用行为
- 函数递归详解
- 函数设计技巧
递归概述
- 递归是数学领域中概念在程序设计中的应用
- 递归是一种强有力的程序设计方法
- 递归的本质为函数内部在适当的时候调用自身
递归函数
C递归函数有两个主要的组成部分:
- 递归点 – 以不同参数调用自身
- 出口– 不在递归调用
实例分析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;
}
小结
- C语言中的递归函数必然会使用判断语句
- 递归函数在编写的时候需要定义函数的出口,否则栈会溢出
- 递归函数是一种分而治之的思想