# EXIT_SUCCESS, EXIT_FAILURE

< c‎ | program

定义于头文件 `<stdlib.h>` |  |
#define EXIT_SUCCESS /*implementation defined*/ |  |
#define EXIT_FAILURE /*implementation defined*/ |  |

`EXIT_SUCCESS` 和 `EXIT_FAILURE` 宏展开成能用作 exit 参数的整数表达式（从而作为从 `main` 函数返回的值），并指示程序执行状态。

常量 | 解释
`EXIT_SUCCESS` | 程序执行成功
`EXIT_FAILURE` | 程序执行不成功

### 注意

`EXIT_SUCCESS` 和值零都能指示程序执行成功的状态，尽管并不要求 `EXIT_SUCCESS` 等于零。

### 示例

    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {
        FILE *fp = fopen("data.txt","r");
        if (fp == NULL)
        {
           fprintf(stderr,"fopen() failed in file %s at line # %d", __FILE__,__LINE__);
           exit(EXIT_FAILURE);
        }

        /* 正常进程持续至此。 */
        fclose(fp);
        printf("Normal Return\n");

        return EXIT_SUCCESS;
    }

输出：

    fopen() failed in file main.cpp at line # 9

### 引用

- C11 标准（ISO/IEC 9899:2011）：

  - 7.22/3 General utilities <stdlib.h> (p: 340)

- C99 标准（ISO/IEC 9899:1999）：

  - 7.20/3 General utilities <stdlib.h> (p: 306)

- C89/C90 标准（ISO/IEC 9899:1990）：

  - 4.10 General utilities <stdlib.h>

### 参阅