C / C ++中的exit(0)vs exit(1)与示例
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和exit(1)之间的区别
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)定义程序中存在错误,并且程序终止。 |
以上是 C / C ++中的exit(0)vs exit(1)与示例 的全部内容, 来源链接: utcz.com/z/337997.html