当前位置 :主页 > 云服务器 >

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() 调用之前执行,确保任何必要的清理工作都能完成。