C exit() Function Tutorial

  • Post author:
  • Post category:C

In this section, we will learn what the exit() function is and how it works in C.

Exit in C Programming: C exit() Function

The `exit()` function is used to end the execution of a running program.

This function can be used in any block and any function of a program and the moment the CPU reaches to this function, it will end the execution of the program immediately.

The prototype of the function exists in the `stdlib.h` header file and so we need to include the file in order to work with the function.

C exit() Function Syntax:

Here’s the prototype of the function:

void exit(int status)

C exit() Function Parameters

As you can see the function takes one argument and if the value is 0 for the function, it means the program terminated successfully without any problem and if we set a non-zero value, it means there was a problem in the program and that’s why it needed to terminate.

Notes:

  • The usual values we put as the argument to this function are macros like ` EXIT_FAILURE` if we want to terminate the program because of a problem and `EXIT_SUCCESS` if the program is terminating successfully.
  • The value we set as the argument of the function is sent to the underlying operating-system and that will decide what to do with this value.

C exit() Function Return Value

The return value of this function is void.

Example: using exit() function in C

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main() {

    
    FILE *file = fopen("G:/file3.txt","r");
    //if there was a problem on opening the file, exit the program.
    if (file == NULL){
        printf("There was a failure on opening the file.");
        exit(EXIT_FAILURE);

    }

    char *string = "Hello,\nMy name is John Doe!\n";
    for (int i = 0 ; i<strlen(string);i++){
        fputc(*(string+i), file);
    }

    fclose(file);


    printf("\ndone\n");
    return 0;
}

Output:

There was a failure on opening the file.

How to End C Program?

In this example because the file named `file3.txt` didn’t exist, the call to the `fopen()` function returned NULL-pointer and for that reason the body of the `if` statement ran and as a result the call to the `exit()` function in this body caused the end of the program’s execution.

Leave a Reply