Ciao a tutti ho il seguente problema con la VOID: data una lista L1 voglio modificare SOLTANTO la testa se è pari.
In output mi da sempre la stessa lista anke se la testa è pari. Senza usare la void lo so risolvere, ma io non ho capito perche fatta con la void non funziona??codice:struct elemento { int inf; struct elemento *next; }; void MODIFICA(struct elemento *L1) { struct elemento *app; if (L1->inf % 2 == 0) { printf("testa pari \n"); app = (struct elemento *)malloc(sizeof(struct elemento)); app->inf = (L1->inf * 2); app->next = L1; L1 = app; /*aggiorniamo la testa*/ printf("L1 ->inf e' %d \n",L1->inf); } return; }
SAPETE DIRMI PERCHè ????? grazie in anticipo
PS ho messo le printf perche nella funzione la modifica la testa, come potete accertare anke voi, ma nel main quando vado a visualizzare la lista la stampa uguale a come era prima.