15.2 终止执行
另一个有用的函数是exit,它用于终止一个程序的执行。它的原型定义于stdlib.h,如下所示:
void exit( int status );
status参数返回给操作系统,用于提示程序是否正常完成。这个值和main函数返回的整型状态值相同。预定义符号EXIT_SUCCESS和EXIT_FAILURE分别提示程序的终止时成功还是失败。虽然程序也可以使用其他的值,但它们的具体含义将取决于编译器。
当程序发现错误情况使它无法继续执行下去时,这个函数尤其有用。我们经常会在调用perror之后再调用exit终止程序。尽管终止程序并非处理所有错误的正确方法,但和一个注定会失败的程序继续执行以后再失败相比,这种做法更好一些。
注意,这个函数没有返回值。但exit函数结束时,程序已经消失,所以它无处可返。
/*
** 终止执行。
*/
#include <stdio.h>
#include <stdlib.h>
int main( void ){
int divided;
int divisor;
divided = 2;
divisor = 0;
int quotient;
/* first method */
if( divisor == 0 ){
exit( EXIT_FAILURE );
} else{
quotient = divided / divisor;
printf( "divided = %d, divisor = %d, quotient = %d\n", divided, divisor, quotient );
exit( EXIT_SUCCESS );
}
/* second method */
divisor = 1;
if( divisor == 0 ){
return EXIT_FAILURE;
} else{
quotient = divided / divisor;
printf( "divided = %d, divisor = %d, quotient = %d\n", divided, divisor, quotient );
return EXIT_SUCCESS;
}
}
/* 输出:

*/