gpt4 book ai didi

c++ - c/C++ 中 main() 的默认返回类型

转载 作者:行者123 更新时间:2023-11-30 21:01:54 25 4
gpt4 key购买 nike

为什么 char/float/double(其他原始数据类型)不是 main() 的返回类型?

最佳答案

因为这主要是语言的设计方式。

从历史上看(即在 ISO/IEC 9899 制定之前),不存在 void。具有您不关心的返回值的函数在声明时没有返回类型,从而使返回类型隐式int。那时,main() 返回什么实际上并不重要,调用 main() 的代码如下所示:

setup_stuff();
main(argc, argv);
exit(0);

main() 返回时,程序以退出状态 0 结束。想要返回非零退出状态的程序必须显式调用 exit() 。 Plan 9保留了这个模型。有些人认为这限制太多,并更改了此代码以返回 main() 的返回值:

setup_stuff();
exit(main(argc, argv));

这就是我们最终得到 main() 返回 int 的结果。据我所知,C++ 只是从 C 复制了这个设计方面。

关于c++ - c/C++ 中 main() 的默认返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34040717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com