Hello.c:在函数'main'中:Hello.c:13:警告:返回类型'main'不是'int'?

时间:2013-01-31 21:49:43

标签: c int

  

可能重复:
  What should main() return in C/C++?

在一个小时的基本java编码之后,大约一个小时前开始编码C,并且在编译基本的hello world程序时遇到了问题。

这是我的代码:

#include < stdio.h>

void main()
{
    printf("\nHello World\n");
}

这是我在尝试编译时得到的:

 Hello.c: In function ‘main’:
 Hello.c:13: warning: return type of ‘main’ is not ‘int’

任何帮助都会非常感激,谢谢!

4 个答案:

答案 0 :(得分:3)

应该是

int main() {}

那么你应该return 0如果程序正确终止,或者如果出现错误则应该是任何其他数字。这是Unix惯例,因此脚本可以检查程序是否正确终止或发生错误。

答案 1 :(得分:3)

main的标准签名是

int main(void)

int main(int argc, char **argv)

您的编译器只是强制执行标准。

请注意,实现可能支持void main(),但必须明确记录,否则行为未定义。就像dandan78所说的那样,大量的书籍和在线参考文献都错了。

答案 2 :(得分:2)

c中的main函数必须返回一个int:

#include < stdio.h>

int main()
{
  printf("\nHello World\n");
  return 0;
}

答案 3 :(得分:-1)

无论您为main()选择哪种原型,其返回值都不能为void。它必须是int。许多书籍和教程都会出错,有些编译器会抱怨,有些则不然。

相关问题