📜  C C++中的exit(0)vs exit(1)与示例(1)

📅  最后修改于: 2023-12-03 15:13:44.309000             🧑  作者: Mango

C C++中的 exit(0) vs exit(1)

在 C 和 C++ 中,exit() 是一个库函数,用于终止程序的执行并返回一个值。exit(0) 和 exit(1) 是在函数中常用的两种返回值,下面我们来分析它们的区别。

exit(0)

exit(0) 的返回值表示程序正常退出。当程序执行结束时,会向操作系统返回一个退出状态码,其中 0 表示程序正常结束。

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

int main()
{
    printf("Hello World");
    exit(0);
}

在上面的代码中,当程序正常执行结束时,会返回状态码 0。如果在命令行中运行该程序,可以通过执行 echo $? 命令来查看返回的状态码。

exit(1)

exit(1) 的返回值表示程序异常退出。当程序发生了一些错误或异常情况时,可以通过 exit(1) 来通知操作系统程序并没有正常结束。

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

int main()
{
    int a = 0;
    
    if(a==0)
    {
        printf("a cannot be zero");
        exit(1);
    }
    
    printf("Hello World");
    exit(0);
}

在上面的代码中,当变量 a 的值为 0 时,程序会异常退出并返回状态码 1。

总结

exit(0) 和 exit(1) 的使用场景不同,exit(0) 用于程序正常退出,而 exit(1) 用于程序异常退出。

建议在程序编写中使用 exit(0) 和 exit(1) 的方式来较为明确地告知程序的运行状态,便于后续的调试和维护。