函数不能嵌套定义是什么意思

如题所述

是由于语法不支持造成在函数定义的内部不能定义函数。
C语言中函数的定义都是相互平行、相互独立的,也就是说在函数定义时,函数体内不能包含另一个函数的定义,即函数不能嵌套定义,但可以 嵌套调用。
嵌套函数,就是指在某些情况下,您可能需要将某函数作为另一函数的参数使用,这一函数就是嵌套函数。一个为大家所熟知的例子就是 qsort函数会将一个比较器cmp作为参数.又如图1中所示的公式使用了嵌套的 AVERAGE 函数,并将结果与 50 相比较。这个公式的含义是:如果 单元格F2到F5的平均值大于50,则求F2到F5的和,否则显示数值0。又如,在一个程序中, 主函数调用了sum函数,而在sum函数中又调用了mul函数。在一个函数被调用的过程中又调用另一个函数,这就是函数的 嵌套调用。如果是函数本身嵌套调用函数本身,那就是函数递归调用了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-27
意思是在函数定义的内部不能定义函数。追问

请问高人能不能列举个例子呢?

追答

以C语言为例,一个函数的定义是这样的:
void f()
{
//这里的函数的内部
}

嵌套定义是这样的:
void f()
{
//这是函数f的内部
void g()
{
//这是函数g的内部
}
}

上面就是在函数f内定义函数g,也就是函数嵌套定义。标准C里面是不允许函数嵌套定义的。

本回答被提问者采纳