Scusami per il disturbo, ho visto il tuo programma, nel tuo usi la typedef, nel mio testo non me lo fanno usare, mi scuso che non sono ad un buon livello e devo confrontarmi per capire meglio; ho provato a fare il programma senza type def, inoltre i valori sono assunti da tastiera:
#include <stdio.h>
#include <stdlib.h>
struct list{
int value;
struct list*next;
};
struct list* inserisci(struct list**ptrptr, int valore){
struct list*tmp_ptr;
tmp_ptr=*ptrptr;
*ptrptr=(struct list*)malloc(sizeof(struct list));
(*ptrptr)->value=valore;
(*ptrptr)->next=tmp_ptr;
return (*ptrptr);
}
void massimo(struct list*ptr){
int max;
max=ptr->value;
while(ptr!=NULL){
if(max<&(ptr->next)){
max=&(ptr->next);
ptr=ptr->next;
}
}
printf("il valore massimo è %d\n", max);
}
int main(){
int n, valore;
printf("Inserire il numero di elementi n: \n");
scanf("%d", &n);
struct list * ptr;
ptr=NULL;
int i;
for(i=0; i<n; ++i){
printf("inserisci un valore: \n");
scanf("%d", &valore);
ptr=inserisci(&ptr, valore);
}
massimo(ptr);
}
il programma mi esegue tutto, l'assunzione di valori e di n, ma non mi stampa il massimo...