+ -
当前位置:首页 → 问答吧 → gcc居然不要声明就可以,不习惯啊。

gcc居然不要声明就可以,不习惯啊。

时间:2010-09-17

来源:互联网

a.c:

int main()
{
   f1();
}

b.c
void f1()
{
}

a.c里面居然不要声明f1可以编译通过。好奇怪。

作者: yuyuan_scu   发布时间: 2010-09-17

不行阿。我刚测试了。

作者: 论坛ID   发布时间: 2010-09-17

加 -Wall 就会出警告的

作者: fstwnd   发布时间: 2010-09-17

我在redhat9下测得。应该默认编就是通过的。

作者: yuyuan_scu   发布时间: 2010-09-17

不声明当然可以......这时编译器就按默认对参数进行类型提升,返回值也是.

作者: liwangli1983   发布时间: 2010-09-17

作者: rain_fish   发布时间: 2010-09-17

编译的时候用 -Wall选项。

作者: pandaiam   发布时间: 2010-09-17

这个很常见,貌似。

作者: ecjtubaowp   发布时间: 2010-09-17