开发者社区> 问答> 正文

请问 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-27 18:53:43 4055 0
4 条回答
写回答
取消 提交回答
  • 专注物联网

    错了吧,这是GCC的一个扩展,C标准是不支持嵌套函数的
    参见gcc-嵌套函数

    2019-07-17 19:18:39
    赞同 展开评论 打赏
  • 乐于学习与分析

    c++支持,c不支持

    2019-07-17 19:18:38
    赞同 展开评论 打赏
  • 软件开发,安全加密

    c++支持,c不支持

    2019-07-17 19:18:38
    赞同 展开评论 打赏
  • IT从业

    错了吧,这是GCC的一个扩展,C标准是不支持嵌套函数的
    参见gcc-嵌套函数

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

相关电子书

更多
JavaScript 语言在引擎级别的执行过程 立即下载
JS 语言在引擎级别的执行过程 立即下载
继承与功能组合 立即下载