出口(0)和出口(1)之间的区别

作者: Laura McKinney
创建日期: 2 四月 2021
更新日期: 12 可能 2024
Anonim
登記功能組別選民教學(進出口界篇)
视频: 登記功能組別選民教學(進出口界篇)

内容


exit(0)和exit(1)是C ++的跳转语句,这些语句使控件在执行程序时从程序中跳出。 exit(0)和exit(1)这两个函数都用于退出程序,但是exit(0)和exit(1)之间有一个主要区别。出口(0)显示程序成功终止,而出口(1)显示程序异常终止。

让我们借助比较表研究exit(0)和exit(1)之间的差异。

  1. 比较表
  2. 定义
  3. 关键差异
  4. 结论

比较表

比较依据退出(0)出口(1)
基本的向操作系统报告有关程序的“成功/正常”终止/完成的信息。报告有关程序“异常”终止的操作系统。
句法退出(0);出口(1);
表示表示任务已成功执行。这表明由于错误该任务已被中止。
巨集EXIT_SUCCESSEXIT_FAILURE

exit(0)的定义

函数exit(0)是C ++的跳转语句。它用于终止程序或让控件退出程序。它向操作系统报告有关程序成功终止的信息,向操作系统指示该程序的任务已成功完成。用于返回代码“ 0”的宏是“ EXIT_SUCCESS”,因此,您可以通过exit(EXIT_SUCCESS)方式使用它。 exit(0)函数的一般形式是:

void exit(int return_code);

在这里,形式参数“ return_code”是返回到调用函数的值。 returen_code始终为整数类型,因为返回到调用函数的值将为零或非零值。 exit(0)是标准的库函数,如果我们在程序中使用exit(0),则必须使用头文件 .
让我们用一个例子来了解exit(0):

#包括 //标准库函数int main(){FILE * ptrFile; ptrFile = fopen(“ myfile.txt”,“ r”); //如果(ptrFile == NULL){cout <<“打开文件时出错”;出口(1); //或者,您可以使用exit(EXIT_FAILURE)} exit(0); //或者您可以使用exit(EXIT_SUCCESS)}

在上面的代码中,我们试图打开一个名为“ myfile.txt”的文件。我们创建了一个指向文件“ myfile.txt”的指针。如果文件“ myfile.txt”确实存在,则指针将指向该文件的地址,并且exit(0)将执行报告操作系统已成功打开文件的操作。如果文件不存在,则指向文件“ myfile.txt”的指针现在将包含NULL,并且exit(1)将执行执行,报告操作系统由于错误或某些原因而无法打开文件。


exit(1)的定义

函数exit(1)也是C ++的跳转语句。 exit(1)也会终止程序,但是异常。 exit(1)向操作系统报告该程序未成功执行,或者由于某些或其他错误而在执行之间被中止。 exit(1)函数在标准库函数中定义,如果您在程序中使用exit(1),则必须特别提及头文件 在程序的顶部。
返回代码“ 1”的宏是“ EXIT_FAILURE”,因此可以用“ exit(EXIT_FAILURE)”的方式编写。
现在,让我们借助程序来了解exit(1)函数。

// pop在栈顶的元素int pop(int stack_name,int size,int Top){如果(Top ==-1){cout <<“ stack is underflow”;出口(1); } else {int s = s;最佳 - ;退货; }}

在这里,如果发现堆栈的顶部为空,即顶部为-1,则定义该函数以将元素弹出到堆栈的顶部。然后,由于堆栈为空,弹出堆栈中最上面的元素的任务没有成功完成,然后返回exit(1)。这表明弹出功能的任务尚未完成。因此,执行异常终止。

  1. 指示程序成功终止的唯一return_code是“ 0”。为了报告程序异常终止,我们可以使用“ 0”以外的任何值,即可以使用“ 1”,“ 2”,“ 3”……这表示非零值表示程序异常终止。
  2. 也可以使用宏代替return_code。就像在“ 0”位置可以使用“ EXIT_SUCCESS”,而在“ 1”位置可以使用“ EXIT_FAILURE”。

相似:

  1. exit(0)和exit(1)都是C ++的跳转语句。
  2. exit(0)和exit(1)都用于终止程序。
  3. 在头文件下定义了exit(0)和exit(1).
  4. exit(0)和exit(1)都向操作系统报告程序终止的状态。

注意:

如果exit()函数不返回任何内容,则意味着它不想向操作系统揭示程序终止的状态。


结论:

为了报告程序终止的状态,可以使用exit()函数。出口(0)向操作系统显示该程序的任务已成功完成。 exit(1)表示程序任务尚未完成,并且程序执行异常中止。