-4

当我编译我用 C 语言编写的代码时,我得到以下警告并且能够成功编译

警告:函数的隐式声明

如果我忽略此警告会发生什么?

4

1 回答 1

1

如果我忽略此警告会发生什么?

这取决于情况。如果在您链接的任何库中都没有定义隐式声明的函数,您只会得到一个链接错误。

如果它被定义并且它的定义与隐式声明相匹配(即返回类型是int,它采用相同数量的参数(不允许可变参数)并且所有参数都有 type int),程序将按预期运行。然而,隐式声明函数仍然是非常糟糕的风格。

如果它是用不同的签名定义的,你会得到未定义的行为。这可能会导致错误的结果、内存损坏和/或崩溃。

于 2013-09-14T12:26:43.557 回答