C语言的函数调用是递归吗?

如题所述

“递归”外在表现出来的形式,是:函数自己调用自己。也就是说:如果我们定义了一个函数fun(),那么,在fun函数体中,fun这个函数自己调用自身 ,这就是表示:递归调用。

我们来看一下,下面这个程序段:


上述C语言程序中,第7行到第10行,就是使用“循环”的方式,来实现从0一直累加到100的和。大部分情况下,“循环”与“递归”之间,都可以相互转换。

​在使用递归的时候,需要注意以下两点:

需要有一个“递归出口”,如果没有一个出口,那么递归就会一直执行下去,一直到将“栈空间”占满为止。那时程序就会崩溃,所以一定是要有一个“递归出口”。

如果所要执行的次数比较多,可以尽量选择用“循环”的方式,因为使用“递归”的方式,程序执行的速度会比较慢。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-08
没记错的话,C语言中的函数直接或间接调用自己的过程叫递归
例如 有main函数,函数A,C。
直接调用型递归:main函数调用函数A,而A不能直接解决问题,所以改变参数后去再次调用函数A。
比如有三个人,人1说他比人2小1岁,人2说他比人3小一岁,人3说他10岁,求人1几岁。就需要递归解决,
简介调用就是main调用A,A调用C,C又需要调用A,作用循环解决问题后由A回到main。
第2个回答  2019-02-08
程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
第3个回答  2019-02-07
函数在内部调用自己的过程称为递归。
第4个回答  2019-02-07
递归只是一个算法,c函数是面向对象的方法

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网