C++递归是谁做的怎么做?

递归是谁做的之所以能够实现昰因为函数的每个执行过程在栈中都有自己的形参和局部变量的副本,这些副本和该函数的其他执行过程毫不相干

假设某个调用函数调鼡了一个被调用函数,再假定被调用函数又反过来调用了调用函数那么第二个调用就称之为调用函数的递归是谁做的,因为他发生在调鼡函数的当前执行过程运行完毕之前

而且,因为这个原先的调用函数现在的被调用函数在栈中较低的位置有它独立的一组参数和自变量,原先的参数和变量将不受任何影响所以递归是谁做的能够正常工作。程序遍历执行这些函数的过程成为递归是谁做的下降

程序员需要保证递归是谁做的函数不会随意改变静态变量和全局变量的值,以免在递归是谁做的下降的过程中上层函数出错程序员还必须确保囿一个终止条件来结束递归是谁做的下降的过程,并回溯到顶层

先来看一个简单的例子:

再来看一个利用递归是谁做的实现的计算器程序

这个小程序还有一个小问题:数组expr的长度只有81个字符,而且程序采用cin来读入字符串如果输入的表达式超过80个字符,输入流缓冲区就会溢出程序的运行结果将会不可预料。另外因为采用了cin的>>运算符,所以输入的表达式里不能有任何空白字符

关于网友提出的“ 谁能帮帮我!!关于递归是谁做的的问题!”问题疑问本网通过在网上对“ 谁能帮帮我!!关于递归是谁做的的问题!”有关的相关答案进行了整理,供用户进行参考详细问题解答如下:

谁能帮帮我!!关于递归是谁做的的问题!


我要回帖

更多关于 递归怎么做 的文章

 

随机推荐