为什么 putchar 不需要标题?

bol*_*lov 3 c

阅读这个解释了Stack Overflow上找不到的页面上的多语言程序的答案,我很惊讶地读到putchar was used because you don't need any #include to use it。尽管en.cppreference.com 参考www.cplusplus.com 参考显示putcharstdio.h标题中所定义,但情况似乎确实如此。

如何在没有声明的情况下(正确)使用函数C?或者是putchar编译器内置的东西(比如sizeof运算符)?

Ola*_*che 5

,您可以在没有声明的情况下使用任何函数。

然后编译器假定该函数的返回类型为 int。参数按照给定的方式传递给函数。由于没有函数声明,编译器无法验证参数是否正确。

putchar没有内置到编译器中。然而,由于

函数调用 putchar(c) 应等效于 putc(c,stdout)。

它可能被定义为一个宏,例如

#define putchar(c) putc(c, stdout)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您必须包含stdio.h以对putchar.