【发布时间】:2012-02-09 07:44:34
【问题描述】:
我知道在 C 编译器中,main() 函数由 _start() 函数调用,其代码如下:
exit(main()); // return value of main is returned
当main() 不返回int 时_start() 如何工作,例如,如果它的返回类型是void、float 或其他什么?
【问题讨论】:
-
我会映像函数指针转换,但我想听听知道真相的人的意见。等不及答案了。 :D
-
C和C++对main返回值的限制不同
-
@fefe - 真的吗?我认为两者都需要返回 int - 得到标准的 para 数字以便我可以阅读?我有 C99 和 C++89、C++11
-
@Adrian 对于 C 是 5.1.2.2.1。
-
好的 C99 5.1.22.1.1 说“它应该用 int 的返回类型定义” c++14882 3.6.1.1 说“它应该有一个 int 类型的返回类型”和 c+ +14882-2011 3.6.1.1 说“它应该有一个 int 类型的返回类型”所以@fefe 他们似乎明确定义为在 C 和 C++ 之间是相同的