c语言中嵌套调用和递归调用的区别
嵌套调用是不是就是说,首先定义A函数.然后B函数在定义时再调用A函数.C函数在定义时再调用B函数.也就是说B函数在调用A函数时,A函数必须先在它之前定义.然后B函数再调用...
嵌套调用 是不是就是说,首先定义A函数.然后B函数在定义时再调用A函数.C函数在定义时再调用B函数. 也就是说B函数在调用A函数时,A函数必须先在它之前定义.然后B函数再调用它. 那么递归调用就是说,先定义A,B两个函数. A数在调用时,调用了B函数.然后B函数在调用时,又调用了A函数. 那不没完没了了?如果是这样实际应用中该怎么解释才是正确的. 怎么感觉感觉递归调用和嵌套调用是一个意思啊.
展开
展开全部
一、作用不同:
函数嵌套允许在一个函数中调用另外一个函数,比如有三个函数 例:funca() { funcb(); } funcb() { funcc(); } funcc() {cout << "Hello" <<endl; }这个就叫做嵌套调用,它是一个语言提供的程序设计的方法,也就是语言的特性。
递归调用是一种解决方案,在程序中,递归函数的限制条件就是变量quotient为零。在每次递归调用之前,我们都把quotient除以10,所以每递归调用一次,它的值就越来越接近零。当它最终变成零时,递归便告终止。
二、含义不同:
嵌套调用,就是函数里面调用函数,调用的是谁没关系,都属于嵌套。
递归调用,就是函数调用本身。
三、调用方式不同:
嵌套调用说的是调用其它函数。
递归调用是指自己调用自己。
扩展资料:
递归调用就是在当前的函数中调用当前的函数并传给相应的参数,这是一个动作,这一动作是层层进行的,直到满足一般情况的的时候,才停止递归调用,开始从最后一个递归调用返回。
递归调用是一种特殊的嵌套调用,是某个函数调用自己或者是调用其他函数后再次调用自己的,只要函数之间互相调用能产生循环的则一定是递归调用。
参考资料来源:百度百科-递归调用
展开全部
嵌套调用这个词我没听过,不过感觉你的理解应该是正确的,就是函数在调用函数,这也没什么可稀奇的。至于递归,一般只一个函数调用它本身。当然不是没完了,会通过条件限制最终会结束的比如int fun(int a){if (a==1) return 1;else if (a==2) return 2;else return (fun(a-1)+fun(a-2));}这是那个求台阶走法的函数。你可以先不管功能,你看递归的过程中参数会越来越小,知道1和2,而1和2是直接出结果的,而不是调用函数,这样递归就能结束了。如果没有条件限制的自己调用自己那不是递归那是死循环。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嵌套调用就是某个函数调用另外一个函数递归调用是一个函数直接或间接的调用自己举几个例子A调用B(嵌套)B调用C(嵌套)A调用A(递归)A调用B B调用A (递归)A调用B B调用C C调用A (递归)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询