Originariamente inviato da Heroes7
hai ragione.. il consiglio che mi hai dato era proprio quello che volevo fare. Però rimane un piccolo problema, ovvero non riesco a stampare il mese. Perchè non viene passato correttamente la stringa mese.
Ho provato a mettere le printf all'interno della funzione per vedere se sbagliavo qualcosa ma no perchè me li stampa corretamente..
Hai qualche consiglio??
Dici che dovrei usare dei puntatori?

Grazie mille :)
Come ha detto lolide, quando fai:

codice:
char m[15];
Crei una variabile locale che, terminata la funzione, viene distrutta; devi fare, per poterla utilizzare dopo che la funzione che l'ha creata termina:

codice:
char* mese;
mese = (char*) malloc (sizeof(char)*15); /* se ti interessano 15 caratteri */
Attenzione però a una piccola cosa:

codice:
printf("Inserisci un mese: \n");
scanf("%s",&m);
In entrambi i modi per creare una stringa (con la malloc o senza), essa risulta un puntatore e pertanto nella scanf non ci vuole l'andpersand (&) chiaro? Quindi considerato quanto detto sopra, la scanf sarà:

codice:
scanf ("%s", mese);
Ultimissima cosa, nel main, prima di terminare, devi manualmente liberare l'area di memoria che hai allocato, facendo:

codice:
free (domani.mese);
Detto ciò dovrebbe andare tutto bene :)