Come ha detto lolide, quando fai: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 :)
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 m[15];
Attenzione però a una piccola cosa:codice:char* mese; mese = (char*) malloc (sizeof(char)*15); /* se ti interessano 15 caratteri */
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:printf("Inserisci un mese: \n"); scanf("%s",&m);
Ultimissima cosa, nel main, prima di terminare, devi manualmente liberare l'area di memoria che hai allocato, facendo:codice:scanf ("%s", mese);
Detto ciò dovrebbe andare tutto bene :)codice:free (domani.mese);