C语言递归函数详解及实例演示

创始人
2024-12-28 22:17:42
0 次浏览
0 评论

c语言中,什么是函数的递归,能举个例子么

所谓递归,简单来说,就是函数调用自身,然后在一定的条件下。
结束这次自调用。
如果不给出这个结束条件,就会变成无限循环。
这种递归是没有意义的。
从下面的问题1123581321.........n分析可以看出,i代表数字,n代表数字的值。
当i=1时,n=1;当i=2时,n=1;当i=3时n=i1+i2;当i=4时n=i2+i3所以可以写一个函数intfun(intn)//这里的n代表数字{if(1==n||2==n)//第一个数字{return1;}else{returnfun(n-1)+fun(n-2);//这里是调用自己,形成一个自调用的循环。
注意:以上代码仅用于演示递归,不包含错误检查。
在实际生产过程中。
代码不够健壮。
这样,递归就完成了。
你可以找到第n个数字。
何时考虑使用递归。
当你分析一个问题,发现这个问题是一个自循环,并且这个自循环达到给定值就可以终止时,你就要考虑递归了。

C语言函数的递归调用

首先调用函数f,并将返回值赋给z。
但这种做法是错误的,没有出路,也无法阻止。
例如,让我们i​​ntf(intx){if(x==0){return1;}else{returnx*f(x-1);}}iff(3)第一次f(3):x!=0,第二次调用f(2)f(2):x!=0,对第三项f(1):x调用f(1)!=0,第四次调用f(0)f(1):x==0,返回1,返回第三次调用f(1):return1*1=1;返回2*1=2;返回第一次调用f(3):return3*2=6;f(3)的输出是6。

c语言函数的递归调用

这段程序的意思是,如果传递的参数n<1>结束,必然会执行c=10。
例如n=5,则返回值为18((5-1)x2+10=18)

例如迭代5次,即执行的操作如下:

第一次调用(n=5),定义了一个intc;

第二次调用(n=4),定义了一个intc;

第三次调用call(n)=3),定义了一个intc;

第四次调用(n=2),定义一个intc;

调用最少5次(n=1),定义INTC

n=1,满足条件n==1,所以C=10这次,

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>是

                                                                                                                                                                                                                                                                    。
=12

第三次返回c=age(intn)+2=12+2=14此时定义了第三次返回第二次为c=age(intn)+2=14+2=16

第一次返回,c的第一个值=age(intn)+2=16+2=18。
这时按照下面的程序接收到返回值b

我认为age(intn)本身代表的是一个int值,虽然可以参与运算。
没有与此示例类似的测量接收。

程序:

#include

intage(intn)

{intc;

if(n==1)

c=10;

else

c=age(n-1)+2;

其他

c=age(n-1)+2;

returnc;

voidmain()

{

inta=0,b=0;

scanf("%d",&a),

b=age(a);

printf("结果为%d\n",b),

}

热门文章
1
JSF架构解析与Java学习资源分享:J... JavaServerFacesJSF体系结构JavaServerFaces(JS...

2
数据结构C语言版深度解析与C语言入门很简... 《数据结构(C语言版)》.严蔚敏吴伟民著.pdf在《数据结构(C语言版)》一书中...

3
C语言字符串常量解析:区别、用途及存储方... 什么是字符串常量字符串常量是C语言中的一种数据类型,它是由一对双引号括起来的字符...

4
C语言printf函数:格式字符串与输出... printf函数中的格式与输出项有什么关系?在C语言中,printf函数中的格式...

5
Excel技巧:计算字符串起始位置与合并... 如何计算字符串在特定文本中的起始位置,怎么计算字符串在特定文本中的起始位置您可以...

6
Python发音全解:掌握正确的发音方法... python怎么读我的很多学习编程的朋友可能都知道Python这个词,但是他们中...

7
字符与字符串:编程中的基础文本类型解析 字符串什么意思字符串是由数字、字母和下划线组成的字符串,表示为s=“a1a2…a...

8
Python编程语言:多领域应用与开发优... Python的作用是什么?Python是一种跨平台计算机编程语言,是ABC语言的...

9
深度解析:C语言编程特点与应用领域 什么叫c语言C语言是一种编程语言。C编程语言应用广泛,具有以下特点和特点:1.语...

10
Java全解析:跨平台编程语言的魅力与多... java是什么Java是一种功能强大的编程语言,被称为“一次编写,随处运行”模型...