C语言错误

问题描述:

我今天开始用编程进行冒险,并遇到一些麻烦。虽然wiritngC语言错误

#include <stdio.h> 

main(void) 
{ 
printf ("hello, world\n"); 
} 
C语言

网站上的所谓cs50.io然后写铿锵的hello.c我有以下错误:

enter image description here

任何想法如何解决呢?

+6

请不要将错误作为图片发布。将它们粘贴为问题中的文本。 – BackSlash

+4

首先,尝试'int main(void)' –

+5

应该与您的问题无关(这似乎是Clang的错误安装?),但应该明确声明main函数返回int。你最后不需要'return'语句,但'main'的声明应该是正确的('int main(void)')。 –

首先,您可以在*上找到已发布的答案。您应该阅读您的错误消息,然后尝试通过您自己的搜索来了解它们的含义。

undefined reference to 'main'错误在这里解释: Undefined reference to main - collect2: ld returned 1 exit status

从本质上讲,在C语言中,空是不是main()功能的有效回报(即void main(void))。我认为gcc编译器与clang类似,当main()没有规范时,您的回报默认为int。所以,当需要返回时,你有没有返回值的main()函数。阅读其他*的Q &一种在有效签名对C的main()函数的详细信息:

What are the valid signatures for C's main() function?

,因为我不熟悉clang编译器,也有可能是别的东西,除了这些错误发生。

作为一种良好的做法,您需要使用标志进行编译,以说明您可能在代码中存在但可能会被编译器解雇的错误/警告。

-错误是一个伟大的旗帜,将所有警告都视为错误。你会重新编译为铛-Werror的hello.c

在这种情况下,因为你只是印刷和不返回任何东西,你应该有无效的主要(无效)

与您所提供的代码,您应该始终考虑上述函数返回的内容。

干杯。