#include #include #include struct maillon_s { unsigned short valeur; struct maillon_s* suivant; }; typedef struct maillon_s maillon; typedef maillon* liste; void list(liste l) { maillon* m = l; while (m != NULL) { printf("%3hu ", m->valeur); m = m->suivant; } puts(""); } unsigned short max(liste l) { maillon* m = l; unsigned short max = 0; while (m != NULL) { if (m->valeur > max) max = m->valeur; m = m->suivant; } return max; } int main(int argc, char * argv[]) { liste l; maillon* last_m = NULL; srand(time(NULL)); for (int i = 0; i < 10; i++) { srand(rand()); unsigned short random = rand() % (999-111) + 111; maillon* new_m = malloc(sizeof(maillon)); new_m->valeur = random; if (last_m != NULL) new_m->suivant = last_m; last_m = new_m; } l = last_m; list(l); printf("%3hu\n", max(l)); return EXIT_SUCCESS; }