开发者社区> 问答> 正文

c 语言中函数是否可以嵌套定义

我自己试了以下代码


#include <stdio.h>

void f(int x)
{
    void p(int a)
    {
        printf("%d\n", a);
    }
    p(x);
}
int main()
{
    f(10);
    return 0;
}

是可以正常运行出结果的。
编译器 : gcc 4.5.2
编译指令 :gcc a.c

但老师上课说是错误的
我想知道是 函数嵌套是 undefined 的东西还是说在之后的c标准里面补充的内容?

展开
收起
杨冬芳 2016-05-30 11:18:54 2587 0
1 条回答
写回答
取消 提交回答
  • IT从业

    这样说是不对的,这是GCC的一个扩展,C标准是不支持嵌套函数的
    参见gcc-嵌套函数

    2019-07-17 19:19:22
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
继承与功能组合 立即下载
JavaScript 语言在引擎级别的执行过程 立即下载
低代码开发师(初级)实战教程 立即下载