函数的嵌套调用和递归调用

作者&投稿:逮念 (若有异议请与网页底部的电邮联系)

什么是递归调用
递归调用是一种特殊的嵌套调用,是某个函数调用自己或者是调用其他函数后再次调用自己的,只要函数之间互相调用能产生循环的则一定是递归调用,递归调用一种解决方案,一种是逻辑思想,将一个大工作分为逐渐减小的小工作。递归函数特点:1、函数要直接或间接调用自身。2、要有递归终止条件检查,即递归终止的...

谁能帮我分别举一个例子,是关于函数的嵌套调用和递归调用的(要每一步...
7.5.2 函数递归调用 递归调用:在调用一个函数的过程中直接或间接地调用该函数本身,称为函数的递归调用。在编写递归调用程序时注意:(1)递归程序算法:即如何实现其递归;(2)递归调用的结束条件:避免无止境递归调用造成死循环。所以递归调用应为条件递归调用:if (条件) 递归调用 else ……【例7...

在程序的执行过程中,系统用( )实现嵌套调用(递归调用)函数的正确返回...
【答案】:C 在递归调用中,需要在前期存储某些数据,并在后面又以存储的逆序恢复这些数据,以提供之后使用的需求,因此,需要用到栈来实现递归。简单的说,就是在前行阶段,对于每一层递归,函数的局部变量、参数值以及返回地址都被压入栈中。在退回阶段,位于栈顶的局部变量、参数值和返回地址被弹出,...

函数既可以嵌套定义又可以递归调用吗?
1函数是不可以嵌套定,但递归调用是可以的。2实参的‘值’传送给形参是形参的值不能传送给实参。但但地址传递时是可以的。即实参是指针或有地址符时。

为什么“C语言既可以嵌套定义又可以递归调用”是错的?
例如:int fact(int n){ if (n == 0) return 1; else return n * fact(n - 1);}图中的递归调用是允许的。而:void foo(){ void bar() { \/\/ Some code }}这样在函数内定义函数是不允许的。不过结构体是可以嵌套定义的,例如:struct test { int a; ...

谁能告诉我c语言嵌套调用求n的阶乘的方法,十万火急!!!
递归就可以啊。比如 inr f(int n){ if(n>1){ n=n*f(n-1);return n;} else if(n==1){ return 1;} } 然后在主函数调用一下,传入一个n再用一个整数型接受n的阶乘就好了

嵌套是什么意思啊
函数的调用也只能出现在某函数的函数体内。函数的调用以两种方式出现:函数的嵌套与函数的递归。C语言中,所有函数的定义都是互相平行和独立的,一个函数的定义不能包含另一个函数的定义,即不允许函数的嵌套定义。但函数的调用可以通过用一个函数调用另一个函数来实现,这就形成了函数的嵌套调用。

什么是递归函数? 怎样实现递归?
在递归函数中,调用函数和被调用函数是同一个函数,需要注意的是递归函数的调用层次,如果把调用递归函数的主函数称为第0层,进入函数后,首次递归调用自身称为第1层调用;从第i层递归调用自身称为第i+1层。反之,退出第i+1层调用应该返回第i层。一个递归函数的调用过程类似于多个函数的嵌套的调用,...

结构体为什么可以嵌套而不能递归?
递归是属于算法,结构体是一个数据结构。算法的实现是利用解决问题的思路加上数据结构来使用的。简单来说就是递归像是动作,而结构体是这个动作涉及到(也可能涉及不到)的一个物体

函数f可以用f(f(x))形式调用,这种调用形式是递归调用
不是 递归调用是在函数执行过程中调用自己,例如:void f(int x){ f(x+1);}

冉怡19594971323问: c语言函数递归调用和嵌套调用的区别 -
大邑县诺迪回答: 函数的递归调用本身就是函数的嵌套调用 只不过当被调用的函数是自身(或间接自身,比如A调用B,B又调用A) 那么就是递归调用

冉怡19594971323问: 直接递归调用和间接递归调用区别 -
大邑县诺迪回答: 1、区别就是直接递归调用调用的是函数本身而间接递归调用调用的是其他函数.例如:在函数a(或过程)中直接引用(调用)函数a本身就是直接递归调用.在函数a(或过程)中调用另外一个函数b,而该函数b又引用(调用)了函数a就是间...

冉怡19594971323问: c语言函数可以嵌套调用吗 -
大邑县诺迪回答: 当然可以,不仅可以嵌套,还可以通过递归嵌套很多很多层

冉怡19594971323问: "C语言中,函数的嵌套调用称作为递归"这句话对吗? -
大邑县诺迪回答: 你好!我是计算机专业的,下面我为您回答这个问题. 函数是可以嵌套调用的,函数可以调用其他的函数,也可以调用自己. 调用自己的是一种特例,称作为递归.所以这句话是错误的.

冉怡19594971323问: “函数不能嵌套定义而能嵌套调用”怎么理解? -
大邑县诺迪回答: 这个可以从嵌套定义和嵌套调用的含以上进行理解和区分.是由于语法不支持造成在函数定义的内部不能定义函数.C语言中函数的定义都是相互平行、相互独立的,也就是说在函数定义时,函数体内不能包含另一个函数的定义,即函数不能嵌套定义,但可以嵌套调用. 嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数.在一个函数被调用的过程中又调用另一个函数,这就是函数的嵌套调用.如果是函数本身嵌套调用函数本身,那就是函数递归调用了.

冉怡19594971323问: c语言 函数递归调用是怎么回事? -
大邑县诺迪回答: 一般来说是自己调用自己,一般有两个分支,一个分支是调用自己,还有一个分支是结束条件 如求n!int f(int n) { if(n==1) //这个是结束条件 return 1; else //这个是调用自己的分支 return n*f(n-1); } 还有一个比较复杂一点,是双向调用,也就是a函数调用b函数,b函数在调用a函数 这样循环调用,其实基于这个道理,还有多个函数互相调用,不过这样的情况很少见 但万变不离其宗,每个函数都有两个分支,一个是结束条件,一个是调用函数

冉怡19594971323问: c语言中不允许作嵌套的函数定义,但允许函数什么和什么调用 -
大邑县诺迪回答: C语言不允许函数作嵌套定义,但允许函数可以嵌套和递归调用

冉怡19594971323问: 函数调用的嵌套调用 -
大邑县诺迪回答: C语言中不允许作嵌套的函数定义.因此各函数之间是平行的,不存在上一级函数和下一级函数的问题.但是C语言允许在一个函数的定义中出现对另一个函数的调用.这样就出现了函数的嵌套调用.即在被调函数中又调用其它函数....


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