exit()是C / C ++编程语言中的一个库函数,它用于立即终止调用进程(函数),即可以说它用于正常程序终止并执行几个清理步骤。
语法:
void exit(int status);
参数: status –定义退出状态。
我们可以定义两种状态,
值 | 宏 | 描述 |
---|---|---|
0 | EXIT_SUCCESS | 它定义终止是在程序成功时进行的。 |
1 | EXIT_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(0) | exit(1) |
---|---|
通过指定操作成功,它通常用于终止程序。 | 通过指定操作不成功,它也可用于正常终止程序。 |
语法是exit(0); | 语法是exit(1); |
0是EXIT_SUCCESS的值。因此,我们也可以使用exit(EXIT_SUCCESS)代替exit。 | 1是EXIT_FAILURE的值。因此,我们也可以使用exit(EXIT_FAILURE)代替exit(1)。 |
exit是完全可移植的。 | exit(1)不能完全移植。 |
exit(0)定义没有任何错误的干净退出。 | exit(1)定义程序中存在错误,并且程序终止。 |