今天在复习c语言时,看到了有关EXIT_SUCCESS和EXIT_FAILURE,发现不是很清楚,查阅了相关资料,大概总结了一下。
EXIT_SUCCESS和EXIT_FAILURE是C语言中头文件库中定义的一个符号常量,作为exit()的参数来使用,分别表示成功和没有成功的执行一个程序
exit()函数关闭了所有打开的文件并终止程序,exit()函数的参数会被传递给一些操作系统,通常的约定是正常终止的程序传递值0,非正常终止的程序传递非0值。不同的退出值可能用来标识导致程序的失败的不同原因,ANSIC标准要求使用值0或宏EXIT_SUCCESS来指示程序成功终止,使用宏EXIT_FAILURE指示程序非成功中止。(宏和exit() 原型 在stdlib.h头文件中都可以找到 EXIT_SUCCESS EXIT_FAILURE),
exit(1); //表示异常退出
exit(0); //表示正常退出
调用的main()函数和调用exit()函数的效果相同。
return 0;
exit(0);
这两者之间表达的效果是相同的。
但是:不同的是,main() 函数在一个递归程序中,exit()会终止程序,但是return将控制权交给递归上一级直至到最初的一级。