这句话是不对的.
嵌套是两种结构间的关系,而不是函数间的关系.递归是一个函数调用自身,可以看作是一个函数调用另一个函数中的较特别的例子.
函数嵌套与递归调用的区别函数嵌套是语言特性,递归调用是逻辑思想.
扩展资料:
函数嵌套函数嵌套允许在一个函数中调用另外一个函数.
递归调用而递归是一种解决方案,一种思想,将一个大工作分为逐渐减小的小工作.递归是一种思想,只不过在程序中,就是依靠函数嵌套这个特性来实现了.递归最明显的特点就是,自己调用自己.
函数嵌套就是函数调用函数,是普遍的,递归就是函数调用自身,使函数嵌套的一个特例.嵌套调用就是某个函数调用另外一个函数,递归调用是一个函数直接或间接的调用自己.
不对.
递归是只函数调用自己,是嵌套调用的特殊情况,也就是说,嵌套包含递归.
区别:
函数的嵌套调用是指在一个C语言函数里面在执行另一个函数,这样通常称为函数的嵌套调用.而函数的递归调用,一般指的是这个C语言函数调用自己本身的函数也就是说调用函数的函数体是一样的,这样称为递归调用.
函数的分类
从用户使用的角度看,函数有两种:
标准函数,即库函数.这是由系统提供的.用户自定义的函数.可以解决用户的专门需要.
从函数的形式看,函数分两类:
无参函数.printstar和print_message就是无参函数.在调用无参函数时,主调函数并不将数据传送给被调用函数,一般用来执行指定的一组操作.
有参函数.在调用函数时,在主调函数和被调用函数之间有数据传递.也就是说,主调函数可以将数据传递给被调用函数使用,被调用函数中的数据也可以带回来供主调函数使用.
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;
struct?demo?{
char?b;
};
这样在结构体内定义结构体,是可以的.
在C/C++中,函数可以递归调用,也可以嵌套调用.
递归调用是指自己调用自己,而嵌套调用是指两个或多个函数间相交叉互调用.递归调用时,函数自身必须更改返回(结束)条件,否则就会进入死循环,而嵌套调用就没有这样的要求,与普通函数一样,完成指定操作后正常返回即可.
以上就是土嘎嘎小编为大家整理的c语言中函数递归和嵌套相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!