Salve a tutti,
ho fatto questo semplice programma per l'acquisizione di due stringhe, ma non funziona:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void inserimento_nomi (char *nome1, char *nome2);

main()
{
	char *nome1, *nome2;

	inserimento_nomi (nome1, nome2);

	printf("\nnome1: %s\n", nome1);
	printf("\nnome2: %s\n", nome2);

	return 0;
}

void inserimento_nomi (char *nome1, char *nome2) 
{	
	/* alloco memoria per le due stringhe (max. 19 caratteri) */
	nome1 = (char *) malloc (sizeof(char) * 20);
	nome2 = (char *) malloc (sizeof(char) * 20);

	printf("\n\n\tInserire il nome1: ");
	fflush(stdin);
	gets(nome1);
	system("cls");
        printf("\n\n\tInserire il nome2: ");
	fflush(stdin);
	gets(nome2);
}
Non riesco proprio a capire dove sbaglio. :master:
Facendo delle printf di prova all'interno di inserimento_nomi tutto va bene. Il problema è il risultato che ottengo al di fuori della funzione: le printf mi mandano in crash il programma.
Grazie per l'aiuto.