Originariamente inviato da anx721
Puoi usare la funzione int atexit(void (*func)(void))

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

void my_exit1(void);
void my_exit2(void);

int main() {

  atexit(my_exit1); /* imposta il primo handler */
  atexit(my_exit2); /* imposta il secondo handler */
  
  printf("main is done\n");
 
  exit(0);
}

void my_exit1(void) {
  printf("first exit handler\n");
}

void my_exit2(void) {
  printf("second exit handler\n");
}