首页 > 编程笔记

C语言exit():正常终止程序

exit() 是 C语言的一个标准库函数,定义在<stdlib.h>头文件中。

exit() 函数的功能是正常终止程序,并返回一个状态代码给调用程序或操作系统。exit() 函数的原型如下:
void exit(int status);

参数

status:程序的返回状态。通常,返回 0 表示成功,非 0 值表示失败或特定错误代码。

返回值

无,exit() 没有返回值。

和异常终止程序的 abort() 函数不同,exit() 函数终止程序时会进行一些必要的清理工作,比如关闭程序打开的所有 I/O 流、释放程序中所有动态分配的内存等。

【实例】以下 C语言程序演示了 exit() 函数的功能和用法。
#include <stdio.h>
#include <stdlib.h>

void cleanup() {
    printf("Performing cleanup before exit...\n");
}

int main() {
    int value;

    // Register cleanup function
    atexit(cleanup);

    printf("Enter a positive integer: ");
    scanf("%d", &value);

    if (value <= 0) {
        fprintf(stderr, "Invalid input. Exiting with error code 1.\n");
        exit(1);
    }

    printf("You entered: %d\n", value);

    // Normal termination
    exit(0);
}
在这个示例中,用户被要求输入一个正整数。如果输入无效(小于或等于 0),程序打印一条错误消息并使用 exit(1) 终止,返回错误代码 1。否则,程序正常终止并返回 0。通过 atexit 注册的清理函数将在 exit() 调用之前执行,确保任何必要的清理工作都能完成。

推荐阅读