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

[复制链接]
查看11 | 回复5 | 2015-6-9 01:47:54 | 显示全部楼层 |阅读模式
区别:函数嵌套是语言特性,递归调用是逻辑思想。这两者有关,但并不互斥。一个递归过程可以包含函数嵌套。同样,一个递归函数也可当做是自身嵌套函数。函数嵌套允许在一个函数中调用另外一个函数,比如有三个函数:func1(){func2();}func2(){func3();}func3(){printf("Hello");}这个就叫做嵌套调用,它是一个语言提供的程序设计的方法,也就是语言的特性。而递归,是一种解决方案,一种思想,将一个大工作分为逐渐减小的小工作,比如说一个人要搬50块石头,他想,只要先搬走49块,那剩下的一块就能搬完了,然后考虑那49块,只要先搬走48块,那剩下的一块就...
回复

使用道具 举报

千问 | 2015-6-9 01:47:54 | 显示全部楼层
函数嵌套是语言特性,递归调用是逻辑思想。函数嵌套允许在一个函数中调用另外一个函数,比如有三个函数funca(){funcb();}funcb(){funcc();}funcc(){cout << "Hello" <<endl;}这个就叫做嵌套调用,它是一个语言提供的程序设计的方法,也就是语言的特性。...
回复

使用道具 举报

千问 | 2015-6-9 01:47:54 | 显示全部楼层
在C/C++中,函数可以递归调用,也可以嵌套调用。递归调用是指自己调用自己,而嵌套调用是指两个或多个函数间相交叉互调用。递归调用时,函数自身必须更改返回(结束)条件,否则就会进入死循环,而嵌套调用就没有这样的要求,与普通函数一样,完成指定操作后正常返回即可。...
回复

使用道具 举报

千问 | 2015-6-9 01:47:54 | 显示全部楼层
简单的说:就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数。比如:int f(x,y) 是个函数 那么 int f(int f(x,y),m)这个就是函数的嵌套; 函数的递归调用是指在调用一个函数过程中又出现直接或间接的调用该函数本身,递归调用必须有一个终止条件 不然会进入死循环。例如:int f(int n...
回复

使用道具 举报

千问 | 2015-6-9 01:47:54 | 显示全部楼层
函数嵌套?没关注过这个说法,难道是说一个函数里调用另外一个函数? 递归,就是一个函数直接或间接的调用了自己,这里强调的是调用回自己。 void func() { .....; fun(); ......}...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行