首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C语言错误

C语言错误
EN

Stack Overflow用户
提问于 2017-06-13 06:12:07
回答 2查看 333关注 0票数 0

我今天开始了我的编程之旅,遇到了一些麻烦。在写的时候

代码语言:javascript
复制
#include <stdio.h>

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

用C语言在名为cs50.io的网站上,然后写clang hello.c,我得到了以下错误:

有没有办法解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2017-06-16 23:57:44

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

此处解释了undefined reference to 'main'错误:Undefined reference to main - collect2: ld returned 1 exit status

本质上,在C语言中,main()不是void main(void)函数(即void )的有效返回值。使用gcc编译器,我认为它类似于clang,当main()没有规范时,你的返回值默认是int。因此,当需要返回值时,您可以使用没有返回值的main()函数。有关C的StackOverflow ()函数的有效签名的更多信息,请阅读其他main问答:

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

由于我不熟悉clang编译器,除了这些错误之外,可能还会发生其他事情。

票数 0
EN

Stack Overflow用户

发布于 2017-07-31 04:38:10

作为一种良好的实践,您将希望使用标志进行编译,以说明代码中可能存在的某些错误/警告,但这些错误/警告可能会被编译器忽略。

-Werror是一个很好的标志,它将所有警告都视为错误。您将重新编译为clang -Werror hello.c

在本例中,由于您只是打印而不返回任何内容,因此您应该使用void main ()

使用您提供的代码,您应该始终说明函数返回的内容,如上所述。

干杯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44509494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档