77问答网
所有问题
C语言中递归函数是,非递归函数是?能否举例子?
如题所述
举报该问题
推荐答案 2016-03-20
直接或间接调用自已的函数就是递归函数,否则为非递归函数。如:
unsigned fun(unsigned x){
if(x==1 || x==0)
return 1;
return x*fun(x-1);
}
这个函数的体中出现了调用自己的语句fun(x-1);,所以是递归函数。
追问
那我这个应该怎样改写成递归的呢
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/GYWGGYNGWN8NpNGqYIq.html
其他回答
第1个回答 2016-03-20
自己调用自己的函数叫递归函数,比如:
A()
{
A();
}
非递归函数不自己调用自己,比如:
A()
{
..........
}
相似回答
递归与
非递归
答:
return n*Factorial(n-1);//
递归函数
调用 } else if(n == 1){ return 1; //递归出口 } else{ return ERROR;//报告输入错误 } } 这里讨论主要的不是上面这个简单
的例子,
而是下面的一些改良.因为递归设计大量的堆栈操作,所以一般都会考虑将递归转
为非递归
来执行.这里用上面这个程序作一个...
C语言
知识点丨
递归函数
答:
让我们以斐波那契数列为例,来看看递归与非递归版本的效率差异。递归版本虽然代码简洁,但当n较大时,
函数
调用频繁,栈空间消耗巨大。例如,当n达到50时
,非递归
实现的循环方案更为高效,减少函数调用,显著提升执行速度。
C语言中,递归
先序遍历和
非递归
先序遍历的有何区别?各自优缺点?
答:
1、递归就是函数调用函数本身,运行起来就是函数嵌套
函数,
层层嵌套,所以函数调用、参数堆栈都是不小的开销,但是程序简单。2、非递归就是不断地对参数入栈、出栈,省去了函数层层展开、层层调用的开销。虽然参数出入栈次数多了,但是一般都开辟固定的足够大的内存来一次性开辟、重复使用。3、
非递归是
从...
c语言中,
什么是
函数的递归,
能举个
例子
么
答:
所以可以写个
函数
int fun(int n) // 这里的n代表第几个数 { if(1 == n || 2 == n) // 第一个数 { return 1;} else { return fun(n - 1) + fun(n - 2); // 这里就是自己调用自己,形成循环自我调用。} } 注: 以上代码只是用来演示
递归,
不包含错误校验。在实际生产...
c语言递归函数
答:
一个含直接或间接调用本函数语句的函数被称之为递归函数,在上面的
例子
中能够看出,它必须满足以下两个条件:1) 在每一次调用自己时,必须是(在某种意义上)更接近于解;2) 必须有一个终止处理或计算的准则。梵塔
的递归函数
://
C
void hanoi(int n,char x,char y,char z){ if(n==1)move(...
递归都可以用
非递归
代替吗?
答:
为了理解方便,下面是用一个最简单
的例子
:求N的阶乘。递归的方法:int Factorial(int n){ if( n > 1){ return n*Factorial(n-1);//
递归函数
调用 } else if(n == 1){ return 1; //递归出口 } else{ return ERROR;//报告输入错误 } } 转
为非递归的
方法:Factorial(int n){ int ...
c语言递归
问题
答:
3、 递归算法解题通常代码比较简洁,但不是很容易读懂。4、 递归的调用需要建立大量的函数的副本,尤其是函数的参数,每一层递归调用时参数都是单独的占据内存空间,他们的地址是不同的,因此递归会消耗大量的时间和内存。而
非递归函数
虽然效率高,但相对比较难编程。5、 递归函数分为调用和回退阶段,...
大家正在搜
c语言函数递归调用例子
c语言中的递归函数
c语言中函数可以递归调用吗
C语言函数可以递归定义吗
C语言多层递归函数
c语言递归函数求解
c语言递归函数求阶乘
c语言递归举例
函数的递归调用是指
相关问题
c语言中递归函数
如何实现递归函数改写成非递归函数
C语言的两个问题: 所有的递归程序均可以用非递归算法实现?递...
C语言中,递归先序遍历和非递归先序遍历的有何区别?各自优缺点...
什么是函数的递归调用?正确的函数递归条件是什么?并写一个简短...
C语言中,递归函数,什么时候可以不用声明?
c语言递归函数求助
C语言中递归函数用的多不多?什么地方会涉及到这个?学此专业的...