Listing 2

#include <stdio.h>
#include <stdlib.h>

void eh1(void);
void eh2(void);
void eh3(void);

main()
{
   printf("reg eh1: %d\n", atexit(eh1));
   printf("reg eh2: %d\n", atexit(eh2));
   printf("reg eh3: %d\n", atexit(eh3));

   exit(0);
}

void eh1(void)
{
   printf("Inside eh1\n");
}

void eh2(void)
{
   printf("Inside eh2\n");
}

void eh3(void)
{
   printf("Inside eh3\n");
}

reg eh1: 0
reg eh2: 0
reg eh3: 0
Inside eh3
Inside eh2
Inside eh1