【问题标题】:Difference between void main and int main [duplicate]void main和int main之间的区别[重复]
【发布时间】:2014-04-18 10:30:36
【问题描述】:

我见过很多具有int main()void main() 的程序。我知道两者都被用作程序的起点。我只是对何时使用一种而避免另一种感到困惑。如果您能向我解释一下,我将不胜感激。

【问题讨论】:

    标签: c main


    【解决方案1】:

    在当前的 ISO 标准中,它不会改变任何东西,使用与您合作的其他开发人员所期望的内容。 (感谢 Lundin 提醒我这一点)

    对于 ANSI C,int main 表示您将以 return 0; 结束您的程序(或其他值,0 是“一切正常”的标准)。

    void main 将允许您跳过该行,and have some other effect,基本上,取决于编译器,您可能无法访问 argc 和 argv,因为 main 接受 0 个参数。

    虽然它没有做很多坏事,但我认为最好使用int main,所以你不必担心副作用。这也是 ANSI C 中的规范。

    【讨论】:

    • 1990年已经到来,国际标准化!对于那些不使用“ANSI-C”但使用标准C 编程的人,可以跳过int main (void) 中的return 语句。 1999年也已经到来了!新的 ISO 标准。或者好吧,它是 18 年前的新东西……
    【解决方案2】:

    int main() 只是在执行代码后将结果代码返回给操作系统。例如,返回0 通常意味着成功运行,返回任何其他内容意味着可能有错误。除了调试和错误报告之外,从主函数返回 int 确实没有多大用处。当然,void 表示您不返回任何东西。祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-26
      • 2018-03-16
      • 2013-11-04
      • 2011-04-12
      • 2012-11-12
      • 2016-07-24
      • 2020-03-01
      • 2010-10-12
      相关资源
      最近更新 更多