我正在尝试用C编写和运行“Hello World”。
int main(int argc, char *argv[])
{
#include <stdio.h>
puts("Hello world.");
return 0;
}
但是,我在终端中始终收到以下错误:
In file included from ex.c:3:
/usr/include/stdio.h:353:54: error: function definition is not allowed here
__header_always_inline int __sputc(int _c, FILE *_p) {
^
1 error generated.
在我看来,这是在stdio header 文件中出现语法错误?我不明白发生了什么。
最佳答案
您想做这样的事情:
#include <stdio.h>
int main(void)
{
puts("Hello world.");
return 0;
}
您的
#include
指令几乎应该始终排在文件的第一位。编写#include <some_file>
时,是在告诉预处理器将所有文本从some_file复制到程序中。例如,<stdio.h>
包括puts
函数声明。通过将<stdio.h>
作为文件的第一件事,您可以告诉编译器有关puts
的信息,以便以后可以使用它。编辑:感谢@Olaf指出#include是指令而不是语句
关于c - stdio.h文件错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42688440/