RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
c语言结束递归函数 c语言中递归函数

讲一下c语言中递归函数的使用方法

递归函数有三点要求:

创新互联公司长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为休宁县企业提供专业的成都网站建设、网站制作,休宁县网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

1,递归的终止点,即递归函数的出口

2,不断的递归调用自身

3,递归函数主体内容,即递归函数需要做的事情

ps:3一般可以放在2的前面或者后面,一般1放最前面。另外,2和3可以根据不同的需要合并,比如,有时候递归函数的主体就是返回调用下层函数所得到的结果。

具体例子如下:

void fun(int n)

{

if(n=0) return;   //1 这是递归的终点,即出口

fun(n-1);        //2、递归函数自身的调用

coutnendl;     //3 递归函数的主体内容

}

2,3合并的情况

int fun(int n)

{

if(n=0) return 0;

return fun(n-1)+fun(n-2);  //2 3合并

}

C语言结束递归

请把问题说具体一点。

如果条件满足,就return;如果条件不满足,就继续递归调用啊。

怎样强制退出递归函数

这个是不可以的,除非强制退出整个程序的执行,比如使用exit(0);这样的语句。

C语言的函数调用是一层一层的,本层函数执行完会返回上一层函数执行,如果一个递归函数已经调用了10层了,不可能说支持退出这十层函数的执行,直接返回最上层的函数,这个是不现实的。

但是也可以使用其他方法,比如全局变量之类的,每个函数都去判断这个全局变量,这样只要不满足,一层一层的退出函数,也可以实现这个功能,代码举例如下:

int flag=0; //全局变量,判断递归函数是否退出。

void fun1()   //递归函数实现

{

xxxx    //其他语句

fun1(); //递归调用

if(flag==1)  //判断是否退出

{

return;

}

xxxx    //其他语句

if(xxxx)  //需要退出递归函数的条件

{

flag=1;  //设置标志

return;  //退出,这样会一直退出所有递归函数

}

}


网页名称:c语言结束递归函数 c语言中递归函数
URL地址:http://lswzjz.com/article/dodijis.html