Salve a tutti,
ho fatto questo semplice programma per l'acquisizione di due stringhe, ma non funziona:
Non riesco proprio a capire dove sbaglio. :master: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); }
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.

Rispondi quotando