大家晚上好呀,今天要给大家分享的是递归函数。递归函数在我们C语言的程序中是很重要的,所以今天晚上先浅浅的给大家分析一下它的流程图,明天会有例子说明,今天就只是分享一下概念。
递归函数通俗说就是自己调用自己,或者部分包括自己,就像一个画家在画自己在画画,然后画里的自己又有一个在画自己,就是无限套娃。
然后什么时候用到递归函数呢,就是阶乘这种有递归性的,为什么呢,
n!=n*(n-1)!然后n!和(n-1)!后面都有相同的类型,这就可以实现调用自己啦,然后我们看一下我写的阶乘代码。
首先就是要实现函数的调用,函数的调用我已经写过了,在这里就不多加赘述啦,重点就是看后面的自定义函数,
这一句就是实现了调用,但是可能会有人感到疑惑,为什么这里的b不会被覆盖吗,就是说当我们输入了3,那么就变成了3*a(2);然后再次调用,变成了2*a(1);其实这个是不会发生的。为什么呢?因为我们递归函数存在着一种类似于客栈的空间,暂时不会把a=3覆盖掉,这样讲可能有点苍白,明天我会搞个流程图,大家就会明白啦。
先这样,我们明天见,晚安。