🍋递归
2021-1-21
| 2023-8-2
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
 
C允许函数调用它自己,这种调用过程称为递归。
可以假设有一条函数调用链——fun1()调用fun2()fun2()调用fun3()fun3()调用fun4()。当 fun4()结束时,控制传回fun3();当fun3()结束时,控制传回 fun2();当fun2()结束时,控制传回fun1()。递归的情况与此类似,只不过fun1()fun2()fun3()fun4()都是相同的函数。
notion image
 

尾递归

最简单的递归形式是把递归调用置于函数的末尾,即正好在 return 语句之前。这种形式的递归被称为尾递归(tail recursion),因为递归调用在函数的末尾。尾递归是最简单的递归形式,因为它相当于循环。
 
 
递归在处理倒序时非常方便(在解决这类问题中,递归比循环简单)。
编写一个函数,打印一个整数的二进制数。二进制表示法根据 2 的幂来表示数字:
 
 
递归既有优点也有缺点。优点是递归为某些编程问题提供了最简单的解决方案。缺点是一些递归算法会快速消耗计算机的内存资源。另外,递归不方便阅读和维护。
  • C
  • ANSI C函数原型编译多个文件
    目录