추천, 2023

에디터의 선택

출구 (0)와 출구 (1)의 차이점

exit (0)과 exit (1)은 프로그램이 실행되는 동안 컨트롤이 프로그램 밖으로 튀어 나오게하는 C ++의 점프 문입니다. exit (0)와 exit (1)의 두 함수는 프로그램에서 빠져 나올 때 사용되지만 exit (0)과 exit (1) 사이에는 큰 차이가 있습니다. exit (0)은 프로그램의 성공적인 종료를 나타내고 exit (1)은 프로그램의 비정상 종료를 표시합니다.

비교 차트의 도움으로 출구 (0)와 출구 (1)의 차이점을 연구하십시오.

비교 차트

비교 근거출구 (0)출구 (1)
기본"성공 / 정상"종료 / 완료에 대한 운영 체제를보고합니다.프로그램의 "비정상적인"종료에 대해 운영 체제를보고합니다.
통사론출구 (0);출구 (1);
나타냅니다작업이 성공적으로 수행되었음을 나타냅니다.오류로 인해 작업이 중간에 중단되었음을 나타냅니다.
매크로EXIT_SUCCESSEXIT_FAILURE

이탈의 정의 (0)

exit (0) 함수는 C ++의 점프 문입니다. 프로그램을 종료하거나 프로그램에서 제어를 종료하는 데 사용됩니다. 운영 체제가 프로그램의 성공적인 종료에 대해 운영 체제에보고하여 프로그램의 작업이 성공적으로 완료되었음을 운영 체제에 알려줍니다. 리턴 코드 "0"에 사용되는 매크로는 "EXIT_SUCCESS"이므로, exit (EXIT_SUCCESS)와 같은 방식으로 사용할 수 있습니다. exit (0) 함수의 일반적인 형식은 다음과 같습니다.

 void exit (int return_code); 

여기서 형식 매개 변수 "return_code"는 호출하는 함수에 반환되는 값입니다. returen_code는 호출 함수에 반환 된 값이 0이거나 0이 아닌 값이므로 항상 정수 유형입니다. exit (0)은 표준 라이브러리 함수입니다. 프로그램에서 exit (0)을 사용한다면 헤더 파일을 사용해야합니다.
예를 들어 exit (0)을 이해해 보겠습니다.

 #include // 표준 라이브러리 함수 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)은 오류 또는 무언가로 인해 파일이 열리지 않는 운영 체제보고를 실행합니다.

이탈의 정의 (1)

exit (1) 함수는 C ++의 점프 문입니다. exit (1) 또한 프로그램을 종료하지만 비정상적으로 종료됩니다. exit (1)은 프로그램이 성공적으로 실행되지 않았 음을 운영 체제에보고하거나 일부 오류 또는 다른 오류로 인해 실행 사이에 중단됩니다. exit (1) 함수는 표준 라이브러리 함수에 정의되어 있습니다. 프로그램에서 exit (1)을 사용하는 경우 프로그램 상단에 헤더 파일을 특별히 언급해야합니다.
리턴 코드 "1"의 매크로는 "EXIT_FAILURE"이므로 "exit (EXIT_FAILURE)"와 같은 방식으로 작성 될 수 있습니다.
이제 프로그램의 도움으로 exit (1) 함수를 이해합시다.

 // 스택 맨 위에서 요소를 팝합니다. pop (int stack_name, int size, int Top) {if (Top == - 1) {cout << "stack underflow"; 출구 (1); } else {int s = s [Top]; 상단--; 반환 (들); }} 

여기서 함수는 스택의 맨 위가 비어있는 것으로 발견되면 즉, Top이 -1 인 경우 스택 맨 위에서 요소를 팝하도록 정의됩니다. 그런 다음 스택의 최상위 요소를 튀어 나오게하는 작업이 스택이 비어있을 때 성공적으로 완료되지 않으면 exit (1)을 반환합니다. pop 함수의 태스크가 완료되지 않았 음을 나타냅니다. 따라서 실행이 비정상적으로 종료됩니다.

exit (0)과 exit (1) 사이의 주요 차이점

  1. 프로그램의 성공적인 종료를 나타내는 유일한 return_code는 "0"입니다. 프로그램의 비정상적인 종료를보고하기 위해 "1", "2", "3"...을 사용할 수있는 "0"이외의 값을 사용할 수 있습니다. 즉 0이 아닌 값은 프로그램의 비정상 종료를 나타냅니다.
  2. return_code 대신 매크로를 사용할 수도 있습니다. 마찬가지로 "0"대신 "EXIT_SUCCESS"를 사용할 수 있지만 "1"대신 "EXIT_FAILURE"를 사용할 수 있습니다.

유사성:

  1. exit (0)과 exit (1)은 모두 C ++의 jump 문입니다.
  2. exit (0) 및 exit (1)은 모두 프로그램을 종료하는 데 사용됩니다.
  3. exit (0)과 exit (1) 모두 헤더 파일 아래에 정의됩니다.
  4. exit (0)과 exit (1) 모두 운영 체제에 프로그램 종료 상태를보고합니다.

노트 :

exit () 함수가 아무 것도 반환하지 않으면 프로그램 종료에 대한 상태를 운영 체제에 알려주고 싶지 않음을 의미합니다.

결론:

프로그램의 종료 상태를보고하기 위해 exit () 함수를 사용합니다. 종료 (0)는 운영 체제에 프로그램 작업이 성공적으로 완료되었음을 나타냅니다. exit (1)은 프로그램의 작업이 완료되지 않았으며 프로그램 실행이 비정상적으로 중단되었음을 나타냅니다.

Top