Liste e puntatori

di il
1 risposte

Liste e puntatori

Buongiorno a tutti, devo implementare uno stupido programmino che presa in input una lista di interi, mi ritorni il valore massimo. Ora il programma effettuato nel seguente modo:

#include <stdlib.h>
#include <stdio.h>  /* ora puoi usare NULL */

/* scrivi qui la definizione del tipo "elist" (elemento della lista) con i campi "info" (intero) e "next" (prossimo elemento) */
typedef struct elem{
    struct elist* next;
    int info;
}elist;

/* scrivi qui la definizione del tipo "plist" che e' un riferimento ad un oggetto di tipo "elist" */
typedef elist* plist;

/* inizio funzione */

int valore_massimo_lista(plist p){

/* scrivi qui il codice che calcola il valore massimo contenuto in una lista
semplicemente concatenata di interi passata in input e lo ritorna come output.
Se la lista non ha nessun elemento ritorna zero. */
    plist temp = (plist)malloc(sizeof(elist));
    int massimo=0;
    temp = p;
    while (p!=NULL) {
        if (p->info > massimo)
            massimo = p->info;
        p = p->next;

    }

    return massimo;
}
viene compilato con 0 errori e 1 warning del tipo:
"warning: assignment from incompatible pointer type [enabled by default]"
associato all'istuzione:
 p = p->next;
Il programma deve essere compilato su una macchina remota, che evidentemente è stata settata in modo da bloccare la compilazione anche solo a causa di un warning.
Qualche suggerimento?
GRazie mille

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte