c语言嵌套子程序 仔细解答,希望能举例说明

c语言嵌套子程序 仔细解答,希望能举例说明,第1张

A 错误 外层子程序访问内层虚卜镇子程序时看访问权限,当访问权限不够的时是访问不了的。

B错误 程序是可以各层调用的,只要弊镇有引用头差粗文件就可以

C对 如果没有完全套住内分程序怎么还叫嵌套程序呢,而且也违背封装性吧!

你可以这么理解,所谓递归调用,就是调用一系列内容相同的子程序,这些子程序的参数和自己定义的变量都是不相同的,互相不干扰,调用一次需要等待该次调用返回后继续执行剩下语句。

假设调用:

s=qys(12,14)

qys(12,14): x=12,y=14, y不等于0, qys(y,x%y)[qys(14,12)], 等待这个调用完成后再返回结果

  qys(14,12): x=14,y=12, y不等于0, qys(y,x%y)[qys(12,2)], 等待这个调用完成后再返回结果

    qys(12,2): x=12,y=2, y不等于0, qys(y,x%y)[qys(2,0)], 备戚等待这个调帆滚局用完成态让后再返回结果

      qys(2,0): x=2,y=0, y等于0, 返回x值即2

    qys(12,2): qys返回2,返回2

  qys(14,12): qys返回2,返回2

qys(14,12): qys返回2,返回2

赋值:s=2

需要明白的是

函数嵌套是语言特性,递归调用是逻辑思想。

函数嵌套允许在一个函数中调用另外一个函数,比如有三个函数

funca()

{

funcb()

}

funcb()

{

funcc()

}

funcc()

{

cout <<"Hello" <<endl

}

这个就叫做嵌套调用,它是一个语言提供的程序设计的方法,也就是语言的特性。

而递归是一种解决方案,一种思想,将一个大工作分为逐渐减小的小工作,比如说一个和尚要搬50块石头,他想,只要先搬走49块,那剩下的一块就能搬完了,然后考虑那49块,只要先搬御春走48块,那剩下的一块就能搬完了……,递归是镇铅耐一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现了。

递归最明显的特点就是,自己调用自己(不就嵌套调用了嘛)。

funca()

{

if(statement1)

funca()

else

exit(0)

}

概括说,函数嵌激激套就是函数调用函数,是普遍的,递归就是函数调用自身,使函数嵌套的一个特例。

我说的不知道明不明白,有点乱……


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12324530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存