Causes the program to terminate normally. First the functions registered by atexit are called, then all open streams are flushed and closed, and all temporary files opened with tmpfile are removed. The value of status is returned to the environment. If status is
EXIT_SUCCESS, then this signifies a successful termination. If statusis
EXIT_FAILURE, then this signifies an unsuccessful termination. All other values are implementation-defined.
No return is possible.