Prima di poter passare i puntatori alla funzione, devi allocarli: non puoi prima passarli alla funzione e poi allocarli, altrimenti passi alla funzione un valore di memoria non valido:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void inserimento_nomi (char *nome1, char *nome2);
main()
{
char *nome1, *nome2;
/* alloco memoria per le due stringhe (max. 19 caratteri) */
nome1 = (char *) malloc (sizeof(char) * 20);
nome2 = (char *) malloc (sizeof(char) * 20);
inserimento_nomi (nome1, nome2);
printf("\nnome1: %s\n", nome1);
printf("\nnome2: %s\n", nome2);
return 0;
}
void inserimento_nomi (char *nome1, char *nome2)
{
printf("\n\n\tInserire il nome1: ");
fflush(stdin);
gets(nome1);
system("cls");
printf("\n\n\tInserire il nome2: ");
fflush(stdin);
gets(nome2);
}
Ciao.