C C++中exit(0)和exit(1)的区别
exit是 C/C++ 语言中的跳转语句,它采用整数(零或非零)来表示不同的退出状态。
C/C++中有两种退出状态:
1. 退出成功: 退出成功由 exit(0)
语句表示,表示程序成功终止,即程序已执行,没有任何错误或中断。
示例代码:
#include <file.h>
#include <stdio.h>
int main()
{
FILE* file;
// opening the file in read-only mode
file = fopen("myFile.txt", "r");
printf("File opening successful!");
// EXIT_SUCCESS
exit(0);
}
注意:创建一个名为“myFile.txt”的文件并在本地设备中运行代码以查看输出。
2. 退出失败: 退出失败由 exit(1)
表示,表示程序异常终止,即发生了一些错误或中断。可以使用 1
以外的不同整数来表示不同类型的错误。
示例代码:
#include <file.h>
#include <stdio.h>
int main()
{
FILE* file;
// open the file in read-only mode
file = fopen("myFile.txt", "r");
if (file == NULL) {
printf("Error in opening file");
// EXIT_FAILURE
exit(1);
}
// EXIT_SUCCESS
exit(0);
}
下面来看看这两种说法之间的区别——
exit(0) | exit(1) |
---|---|
报告程序成功终止/完成。 | 报告程序异常终止。 |
当程序执行没有任何错误时报告终止。 | 在程序执行过程中发生错误或中断时报告终止。 |
语法是 exit(0); |
语法是 exit(1); |
exit(0) 的使用是完全可移植的。 |
exit(1) 的使用是不可移植的。 |
用于返回码 0 的宏是 EXIT_SUCCESS |
用于返回码 1 的宏是 EXIT_FAILURE |
EXIT_SUCCESS 由标准定义为零。 |
EXIT_FAILURE 不受标准限制为一,但许多系统确实将其实现为一。 |