在ubuntu为什么没有函数声明也可以编译运行

470796698 二级 C 函数与指针 最后由 470796698 于09月13日回复

  • 2 解决
  • 284 浏览

我分别在ubuntu和macos跑了同一段代码,

在ubuntu把函数声明注释掉可正常执行,

在macOS则编译失败, 对此表示疑惑

#include <stdio.h>
/* 函数声明 */
//void aaa();
int main( )
{
    aaa();
    return 0;
}
void aaa()
{
    printf("12345");
}
  • 极客学院_吕布 09月12日 回答 #1楼
  • 跟编译器有关系,有的编译器会逐行找,如果先发现aaa引用而没有进行aaa的声明,则编译报错。

  • 0 评论