请问下c语言中函数的嵌套和递归怎么区别

二者什么时候能用什么时候不能用?请举几个实例说说。谢谢... 二者什么时候能用什么时候不能用?
请举几个实例说说。谢谢
展开
 我来答
tattackor
2015-06-09 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:872万
展开全部
区别:函数嵌套是语言特性,递归调用是逻辑思想。这两者有关,但并不互斥。一个递归过程可以包含函数嵌套。同样,一个递归函数也可当做是自身嵌套函数。
函数嵌套允许在一个函数中调用另外一个函数,比如有三个函数:
func1()
{
func2();
}
func2()
{
func3();
}
func3()
{
printf("Hello");
}
这个就叫做嵌套调用,它是一个语言提供的程序设计的方法,也就是语言的特性。
而递归,是一种解决方案,一种思想,将一个大工作分为逐渐减小的小工作,比如说一个人要搬50块石头,他想,只要先搬走49块,那剩下的一块就能搬完了,然后考虑那49块,只要先搬走48块,那剩下的一块就能搬完了……以此类推的思考,递归是一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现了。
递归最明显的特点就是,自己调用自己(就是函数嵌套调用)。如下例
funca()
{
if(statement1)
funca();
else
exit(0);
}
概括说,函数嵌套就是函数调用函数,是普遍的,递归就是函数调用自身,使函数嵌套的一个特例。
kingfeng588
2012-07-04 · TA获得超过2494个赞
知道大有可为答主
回答量:1475
采纳率:50%
帮助的人:1797万
展开全部
函数嵌套是语言特性,递归调用是逻辑思想。
函数嵌套允许在一个函数中调用另外一个函数,比如有三个函数
funca()
{
funcb();
}
funcb()
{
funcc();
}
funcc()
{
cout << "Hello" <<endl;
}
这个就叫做嵌套调用,它是一个语言提供的程序设计的方法,也就是语言的特性。
而递归是一种解决方案,一种思想,将一个大工作分为逐渐减小的小工作,比如说一个和尚要搬50块石头,他想,只要先搬走49块,那剩下的一块就能搬完了,然后考虑那49块,只要先搬走48块,那剩下的一块就能搬完了……,递归是一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现了。
递归最明显的特点就是,自己调用自己(不就嵌套调用了嘛)。
funca()
{
if(statement1)
funca();
else
exit(0);
}
概括说,函数嵌套就是函数调用函数,是普遍的,递归就是函数调用自身,使函数嵌套的一个特例。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoalyg
2012-07-04 · TA获得超过4178个赞
知道大有可为答主
回答量:2356
采纳率:100%
帮助的人:2364万
展开全部
在C/C++中,函数可以递归调用,也可以嵌套调用。
递归调用是指自己调用自己,而嵌套调用是指两个或多个函数间相交叉互调用。递归调用时,函数自身必须更改返回(结束)条件,否则就会进入死循环,而嵌套调用就没有这样的要求,与普通函数一样,完成指定操作后正常返回即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
游戏虾扯淡
2012-07-04 · TA获得超过566个赞
知道小有建树答主
回答量:634
采纳率:0%
帮助的人:436万
展开全部
简单的说:就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数。比如:int f(x,y) 是个函数 那么 int f(int f(x,y),m)这个就是函数的嵌套;

函数的递归调用是指在调用一个函数过程中又出现直接或间接的调用该函数本身,递归调用必须有一个终止条件 不然会进入死循环。
例如:
int f(int n)//求n的阶乘函数
{
if(n<2) //递归终止条件
return 1;
return n*f(n-1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rm_2013
2012-07-04 · TA获得超过459个赞
知道小有建树答主
回答量:281
采纳率:100%
帮助的人:164万
展开全部
函数嵌套?没关注过这个说法,难道是说一个函数里调用另外一个函数?

递归,就是一个函数直接或间接的调用了自己,这里强调的是调用回自己。

void func() { .....; fun(); ......}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式