gpt4 book ai didi

c - 为什么 EXIT_SUCCESS 和 EXIT_FAILURE "implementation defined"?

转载 作者:行者123 更新时间:2023-12-05 08:45:10 26 4
gpt4 key购买 nike

如果您应该从 main 返回 0,并且 EXIT_SUCCESS 是“实现定义的”,它的字面意思是 it is not required to be 0 ,那么如果你不能依赖它是正确的值,它有什么意义呢?我错过了什么吗?

最佳答案

main 返回整数 n(如果 main 有一个 int 返回值)等同于调用exit(n) -- 标准中的 5.1.2.2.3.1。 exit 的定义使得 exit(0)exit(EXIT_SUCCESS) 都是状态成功终止的实现定义形式 -- 7.20 .4.3.5 在标准中。

因此返回 0(或没有返回并在 main 结束时丢弃)导致程序“成功”终止。

我不认为标准保证 return EXIT_SUCCESSreturn 0 与 main 的返回完全等同,但是 return 0 从 main 并期望您的操作系统将此视为程序的成功终止,无论 EXIT_SUCCESS 定义为什么。

请注意,像 cppreference.com 这样的网站并不是有关 C 标准的最佳信息来源,即使它们大部分都是准确的——最好是转到实际标准(或者至少是一个免费提供的委员会)草稿(如果官方标准是付费专区)并阅读它的内容。

关于c - 为什么 EXIT_SUCCESS 和 EXIT_FAILURE "implementation defined"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73925555/

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