C语言错误
问题描述:
我今天开始用编程进行冒险,并遇到一些麻烦。虽然wiritngC语言错误
#include <stdio.h>
main(void)
{
printf ("hello, world\n");
}
C语言
网站上的所谓cs50.io然后写铿锵的hello.c我有以下错误:
任何想法如何解决呢?
答
首先,您可以在*上找到已发布的答案。您应该阅读您的错误消息,然后尝试通过您自己的搜索来了解它们的含义。
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
在这种情况下,因为你只是印刷和不返回任何东西,你应该有无效的主要(无效)
与您所提供的代码,您应该始终考虑上述函数返回的内容。
干杯。
请不要将错误作为图片发布。将它们粘贴为问题中的文本。 – BackSlash
首先,尝试'int main(void)' –
应该与您的问题无关(这似乎是Clang的错误安装?),但应该明确声明main函数返回int。你最后不需要'return'语句,但'main'的声明应该是正确的('int main(void)')。 –