Som*_*Som 1 c c++ return std exit-code
很长一段时间我都在使用return 0;,从我开始使用allegro开始.比起我看过C++书并找到关于EXIT_SUCCESS的内容,比我查看定义的stdlib.h或cstdlib并且只有两行:
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
Run Code Online (Sandbox Code Playgroud)
有人可以向我解释一下吗?我正在使用最后一个devc ++ 4.9.9.2的mingw版本.
C99语言标准定义了两个宏,EXIT_SUCCESS并EXIT_FAILURE扩展为"整数常量表达式,可以用作exit函数的参数
,分别向主机环境返回不成功或成功的终止状态"(§7.20/ 3).
在exit功能描述(§7.20.4.3/ 5)中,它还说:
最后,控制权返回给主机环境.如果值
status为零或EXIT_SUCCESS,则返回状态成功终止的实现定义形式.如果值status是EXIT_FAILURE,地位的实现定义的形式成功终止返回.否则返回的状态是实现定义的.
因此,如果以0或者退出,则EXIT_SUCCESS始终意味着"成功终止"到主机环境. EXIT_FAILURE是一个永远意味着"不成功终止"的值,但除了那些之外的任何非零值都不能保证是可移植的.
请注意,返回from main等效于调用exit状态为返回值的函数(第5.1.2.2.3节).