logo

C の exit() 関数

exit() 関数 プログラム内で呼び出しているプロセスまたは関数を即座に終了するために使用されます。これは、プログラム内で exit() 関数が発生すると、開いているファイルまたはプロセスに属する関数が直ちに閉じられることを意味します。 exit() 関数は、C の標準ライブラリ関数であり、 stdlib.h ヘッダファイル。つまり、実行中のプログラムを強制終了し、OSに制御を移してプログラムを終了させる機能とも言えます。 exit(0) 関数はプログラムがエラー メッセージなしで終了することを決定し、次に exit(1) 関数はプログラムが実行プロセスを強制終了することを決定します。

C の exit() 関数

exit()関数の注意点

C プログラミングにおける exit 関数の主なポイントは次のとおりです。

  1. exit () 関数を使用する場合は、stdlib.h ヘッダー ファイルをインクルードする必要があります。
  2. これは、exit () 関数に遭遇したときにプログラムの通常の実行を終了するために使用されます。
  3. exit() 関数は、登録された atexit() 関数を登録時と逆の順序で呼び出します。
  4. exit() 関数を使用すると、未書き込みのバッファリングされたデータの読み取りや書き込みなど、開いているすべてのストリーム データをフラッシュまたはクリーンアップできます。
  5. 親または別の関数またはファイルにリンクされている開いているファイルをすべて閉じ、関数 tmpfile によって作成されたすべてのファイルを削除できます。
  6. ユーザーが exit 関数を複数回呼び出した場合、または exit 関数とquick_exit 関数を呼び出した場合のプログラムの動作は未定義です。
  7. exit 関数は、exit(0) と exit(1) の 2 つの部分に分類されます。

exit() 関数の構文

 void exit ( int status); 

出口() 関数には戻り値の型がありません。

整数とJavaの比較

整数ステータス: 親プロセスに返される exit 関数のステータス値を表します。

例 1: for ループ内で exit() 関数を使用するプログラム

C プログラミング言語でプロセスを正常に終了する exit (0) 関数を示すプログラムを作成してみましょう。

int を double java に変換する
 #include #include int main () { // declaration of the variables int i, num; printf ( &apos; Enter the last number: &apos;); scanf ( &apos; %d&apos;, &amp;num); for ( i = 1; i<num; 0 6 i++) { use if statement to check the condition ( i="=" ) * exit () with passing argument show termination of program without any error message. exit(0); else printf (' 
 number is %d', i); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> Enter the last number: 10 Number is 1 Number is 2 Number is 3 Number is 4 Number is 5 </pre> <h3>There are two types of exit status in C</h3> <p>Following are the types of the exit function in the C programming language, as follows:</p> <ol class="points"> <li>EXIT_ SUCCESS</li> <li>EXIT_FAILURE</li> </ol> <p> <strong>EXIT_SUCCESS</strong> : The EXIT_ SUCCESS is the exit() function type, which is represented by the exit(0) statement. Where the &apos;0&apos; represents the successful termination of the program without any error, or programming failure occurs during the program&apos;s execution.</p> <p> <strong>Syntax of the EXIT SUCCESS</strong> </p> <pre> exit (EXIT_SUCCESS); </pre> <p> <strong>Example 1: Program to demonstrate the usage of the EXIT_SUCCESS or exit(0) function</strong> </p> <p>Let&apos;s create a simple program to demonstrate the working of the exit(0) function in C programming.</p> <pre> #include #include int main () { printf ( &apos; Start the execution of the program. 
&apos;); printf (&apos; Exit from the program. 
 &apos;); // use exit (0) function to successfully execute the program exit (0); printf ( &apos;Terminate the execution of the program.
 &apos;); return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Start the execution of the program. Exit from the program. </pre> <p> <strong>Example 2: Program to use the EXIT_SUCCESS macro in the exit() function</strong> </p> <p>Let&apos;s create a C program to validate the whether the character is presents or not.</p> <pre> #include #include int main () { // declaration of the character type variable char ch; printf(&apos; Enter the character: &apos;); scanf (&apos; %c&apos;, &amp;ch); // use if statement to check the condition if ( ch == &apos;Y&apos;) { printf(&apos; Great, you did it. &apos;); exit(EXIT_SUCCESS); // use exit() function to terminate the execution of a program } else { printf (&apos; You entered wrong character!! &apos;); } return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Enter the character: Y Great, you did it. </pre> <p> <strong>EXIT_FAILURE</strong> : The EXIT_FAILURE is the macro of the exit() function to abnormally execute and terminate the program. The EXIT_FAILURE is also represented as the exit(1) function. Whether the &apos;1&apos; represents the abnormally terminates the program and transfer the control to the operating system.</p> <p> <strong>Syntax of the EXIT_FAILURE</strong> </p> <pre> exit (EXIT_FAILURE); </pre> <p> <strong>Example 1: Let&apos;s create a program to use the EXIT_FAILURE or exit(1) function</strong> </p> <pre> #include #include int main () { int num1, num2; printf (&apos; Enter the num1: &apos;); scanf (&apos;%d&apos;, &amp;num1); printf (&apos; 
 Enter the num2: &apos;); scanf (&apos;%d&apos;, &amp;num2); if (num2 == 0) { printf (&apos; 
 Dividend cannot be zero. &apos;); // use EXIT_FAILURE exit(1); } float num3 = (float)num1 / (float)num2; printf (&apos; %d / %d : %f&apos;, num1, num2, num3); // use the EXIT_SUCCESS exit(0); } </pre> <p> <strong>Output</strong> </p> <pre> Enter the num1: 20 Enter the num2: 6 20 / 6 : 3.333333 2nd Run Enter the num1: 20 Enter the num2: 6 Dividend cannot be zero </pre> <p> <strong>Example 2: Let&apos;s create another program to use the EXIT_FAILURE to terminate the C program.</strong> </p> <pre> #include #include int main () { // declare the data type of a file FILE *fptr = fopen ( &apos;javatpoint.txt&apos;, &apos;r&apos; ); // use if statement to check whether the fptr is null or not. if ( fptr == NULL) { fprintf ( stderr, &apos;Unable to open the defined file 
&apos; ); exit ( EXIT_FAILURE); // use exit function to check termination } // use fclose function to close the file pointer fclose (fptr); printf ( &apos; Normal termination of the program. &apos;); return 0; } </pre> <p> <strong>Output</strong> </p> <pre> Unable to open the defined file. </pre> <hr></num;>

C には 2 種類の終了ステータスがあります

C プログラミング言語の exit 関数の種類は次のとおりです。

  1. 終了_成功
  2. EXIT_FAILURE

EXIT_SUCCESS 注: EXIT_SUCCESS は exit(0) ステートメントで表される exit() 関数タイプです。ここで、「0」は、プログラムがエラーなく正常に終了したこと、またはプログラムの実行中にプログラミングの失敗が発生したことを表します。

EXIT SUCCESS の構文

 exit (EXIT_SUCCESS); 

例 1: EXIT_SUCCESS または exit(0) 関数の使用法を示すプログラム

C プログラミングでの exit(0) 関数の動作を示す簡単なプログラムを作成してみましょう。

 #include #include int main () { printf ( &apos; Start the execution of the program. 
&apos;); printf (&apos; Exit from the program. 
 &apos;); // use exit (0) function to successfully execute the program exit (0); printf ( &apos;Terminate the execution of the program.
 &apos;); return 0; } 

出力

 Start the execution of the program. Exit from the program. 

例 2: exit() 関数で EXIT_SUCCESS マクロを使用するプログラム

ユーザー名の例

文字が存在するかどうかを検証する C プログラムを作成してみましょう。

 #include #include int main () { // declaration of the character type variable char ch; printf(&apos; Enter the character: &apos;); scanf (&apos; %c&apos;, &amp;ch); // use if statement to check the condition if ( ch == &apos;Y&apos;) { printf(&apos; Great, you did it. &apos;); exit(EXIT_SUCCESS); // use exit() function to terminate the execution of a program } else { printf (&apos; You entered wrong character!! &apos;); } return 0; } 

出力

 Enter the character: Y Great, you did it. 

EXIT_FAILURE : EXIT_FAILURE は、プログラムを異常実行して終了する exit() 関数のマクロです。 EXIT_FAILURE は exit(1) 関数としても表されます。 「1」がプログラムを異常終了させ、制御をオペレーティング システムに移すことを表すかどうか。

EXIT_FAILURE の構文

Oracle SQLが等しくない
 exit (EXIT_FAILURE); 

例 1: EXIT_FAILURE または exit(1) 関数を使用するプログラムを作成してみましょう

 #include #include int main () { int num1, num2; printf (&apos; Enter the num1: &apos;); scanf (&apos;%d&apos;, &amp;num1); printf (&apos; 
 Enter the num2: &apos;); scanf (&apos;%d&apos;, &amp;num2); if (num2 == 0) { printf (&apos; 
 Dividend cannot be zero. &apos;); // use EXIT_FAILURE exit(1); } float num3 = (float)num1 / (float)num2; printf (&apos; %d / %d : %f&apos;, num1, num2, num3); // use the EXIT_SUCCESS exit(0); } 

出力

 Enter the num1: 20 Enter the num2: 6 20 / 6 : 3.333333 2nd Run Enter the num1: 20 Enter the num2: 6 Dividend cannot be zero 

例 2: EXIT_FAILURE を使用して C プログラムを終了する別のプログラムを作成してみましょう。

 #include #include int main () { // declare the data type of a file FILE *fptr = fopen ( &apos;javatpoint.txt&apos;, &apos;r&apos; ); // use if statement to check whether the fptr is null or not. if ( fptr == NULL) { fprintf ( stderr, &apos;Unable to open the defined file 
&apos; ); exit ( EXIT_FAILURE); // use exit function to check termination } // use fclose function to close the file pointer fclose (fptr); printf ( &apos; Normal termination of the program. &apos;); return 0; } 

出力

 Unable to open the defined file.