在C语言中,函数不能嵌套定义,但是我不知道什么是嵌套定义?希望能举个例子解释一下?

来源:百度知道 编辑:UC知道 时间:2024/06/08 17:39:14

在一个函数体内再定义一个函数,就是嵌套定义了。比如:

void FunOuter()
{
void FunInner()
{
......
}
}

这个FunInner函数就是FunOuter的嵌套,是不允许的

在一个函数体内再定义一个函数,就是嵌套定义了。比如:

void FunOuter()
{
void FunInner()
{
......
}
}

这个FunInner函数就是FunOuter的嵌套,是不允许的

99年后的C语言就支持了,尽信书不如无书,用Dev C++或者Codeblocks测试一样就会发现,C语言完全支持函数嵌套定义,这是C99国际标准里的新规定,C99的一个新特性。实践是检验真理的唯一方法,既然写了代码,为什么不编译一下呢?或者在古老的VC6.0里编译不了,那,试试最新的VC呢?最新版的VC试一试?就是看不惯一些人人云亦云,把真理埋没了。

C语言不允许;编程者也不好编,用函数的递归就好,至于什么是嵌套定义,上面的说得很清楚了。。

呵呵,

int fun()
{
...
}
这是定义了一个函数

如果这样:
int fun()
{
...
int fun2()
{
...
}
...
}
这就是在函数fun中嵌套定义了函数fun2了,这是C语言中所不允许的