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:
Ciao.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); }![]()



Rispondi quotando