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

exit()是C / C ++编程语言中的一个库函数,它用于立即终止调用进程(函数),即可以说它用于正常程序终止并执行几个清理步骤。

语法:

void exit(int status);

参数: status –定义退出状态。

我们可以定义两种状态,

描述
0EXIT_SUCCESS它定义终止是在程序成功时进行的。
1EXIT_FAILURE它定义终止是在程序失败时进行的。

返回值:该函数的返回类型为void,不返回任何内容。

1)退出或退出(EXIT_SUCCESS)

exit用于通过指定程序的成功执行来终止程序。

语法:

exit(0);

2)退出(1)或退出(EXIT_FAILURE)

exit(1)用于通过指定程序的成功执行来终止程序。

语法:

exit(1);

范例1:

在这里,我们正在读取两个数字,然后将它们相除,如果第二个数字为0,则使用exit(1)退出程序;如果第二个数字不为0,则执行除法运算,然后使用exit退出程序

//C ++程序演示
//exit和exit(1)的示例

#include <iostream>
using namespace std;

int main(){
    int a;
    int b;

    cout << "Enter divisor  (value of a)//: ";
    cin >> a;
    cout << "Enter dividend (value of b)//: ";
    cin >> b;

    cout << "//答: " << a << endl;
    cout << "//b: " << b << endl;

    if (b == 0) {
        cout << "//股息不得为0 ...-" << endl;
        //EXIT_FAILURE-
        exit(1);
    }

    cout << a << "/" << b << " //: " << (float)a / (float)b << endl;

    //EXIT_SUCCESS-
    exit(0);
}

输出:

RUN 1//:
Enter divisor  (value of a)//: 10
Enter dividend (value of b)//: 3
//答: 10
//b: 3
10/3 //: 3.33333

RUN 2//:
Enter divisor  (value of a)//: 10
Enter dividend (value of b)//: 0
//答: 10
//b: 0
//股息不得为0 ...-

范例2:

在这里,我们以只读模式打开文件,如果文件没有退出,则使用exit(1)退出程序,并且文件存在,然后将其关闭并使用exit退出程序

//C ++程序演示
//exit和exit(1)的示例

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

int main(){
    FILE* fPtr;

    //打开文件
    fPtr = fopen("hello1.txt", "r");

    //检查文件是否存在
    if (fPtr == NULL) {
        printf("oops, file does not exist...");

        //EXIT_FAILURE-
        exit(1);
    }

    printf("文件已成功打开...-");
    //清除文件
    fclose(fPtr);

    //EXIT_SUCCESS-
    exit(0);
}

输出:

oops, file does not exist...

exit和exit(1)之间的区别

exit(0)exit(1)
通过指定操作成功,它通常用于终止程序。通过指定操作不成功,它也可用于正常终止程序。
语法是
exit(0);
语法是
exit(1);
0EXIT_SUCCESS的值因此,我们也可以使用exit(EXIT_SUCCESS)代替exit1EXIT_FAILURE的值因此,我们也可以使用exit(EXIT_FAILURE)代替exit(1)
exit是完全可移植的。exit(1)不能完全移植。

exit(0)定义没有任何错误的干净退出。

exit(1)定义程序中存在错误,并且程序终止。