Ho modificato il codice e finalmente parte. Però c'è ancora un problema.
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define FILE_PRED "registro_cont.txt"

  struct studente {             //Stampa i dati dell'autore
         char nome[15];
         char cognome[15];
         } io={"Pinco","Pallino"};
         
  struct elenco {
         char nome[25];
         char cognome[25];
         char codice_fiscale[16];
         char indirizzo[30];
         };

  int inserisci (struct elenco registro_cont[100], int n);
  int salva (struct elenco registro_cont[100], int n);
           
int main(int argc, char *argv[])
{
         printf(" Autore del programma:\n");
         printf("------------------------------\n");
         printf(" Nome:      %s\n Cognome:   %s\n",io.nome,io.cognome);
         printf("------------------------------\n\n");
  
         //INIZIO DEL PROGRAMMA VERO E PROPRIO

  
  struct elenco registro_cont[100];
  
  int s, n=0;       

  
  do {
       printf("Scegli dall'elenco l'opzione che desideri fare.\n");
       printf(" 1: Aggiungere nuovo individuo\n");
       printf(" 2: \n");
       printf(" 3: \n");
       printf(" 0: Uscita\n");
       scanf("%d", &s);
              switch(s){
                        case 1:{
                               n=inserisci (FILE_PRED,n);   
                               break;}
                        case 2:{
                               break;}
                        case 3:{
                               break;}
                        case 0:{exit(0);
                               break;}
                        }                        
     } 
     while(s!=0);
     system("pause");
     return 0;
  

}

 int inserisci (struct elenco registro_cont[100],int n) {              //Quando compilo mi da errore in questa riga
                               if (n==100)
                                   printf("Non puoi aggiungere altri individui\n");
                               else {
                                   printf("Inserisci nome: ");
                                   scanf("%s\n",registro_cont[n].nome);
                                   printf("Inserisci cognome: ");
                                   scanf("%s\n",registro_cont[n].cognome);
                                   printf("Inserisci codice fiscale; ");
                                   scanf("%s\n",registro_cont[n].codice_fiscale);
                                   printf("Inserisci indirizzo: ");
                                   scanf("%s\n",registro_cont[n].indirizzo);
                                
                                   FILE *fp;
                                   fp=fopen(FILE_PRED,"a");
                                      if(fp==NULL)
                                         printf("Impossibile salvare!\n");
                                      else {
                                         fprintf(fp,"%s %s %s %s\n",registro_cont[n].nome);
                                         printf("---Salvato---");
                                      fclose(fp);
                                       }
                                  }
 }
Quando compilo si apre il programma, premo 1 e mi dice "Inserisci nome:" dopodiché si apre la scermata di Windows di errore che dice che si è verificato un errore e l'applicazione verrà chiusa. In pratica dopo che inserisco il nome non mi chiede il cognome ed il resto.