Bonjour , je suis débutant en C .
Je dois réaliser mon premier programme traitant des listes chainées chose élémentaire en C qui utilise les pointeurs (chose nouvelle pour moi).
J'aimerais avoir un peu d'aide .
Je dois réaliser une fonction premier_elem_sup_ou_egal qui a pour argument un entier u et qui est de type pointeur .
Ma structure est
voici l'exercice
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 struct elem{ int val; struct elem *lien; };
Voici ma production (après avoir lu la FAQ de developpez etc)
J'ai un peu du mal avec le c(p) <- c(L) ai je le droit d'écrire p = L?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 struct elem *premier_elem_sup_ou_egal(int u) { struct elem *p; struct elem *L; L = (elem*)malloc(sizeof(struct elem)); p = L; while (p != NULL && p->val < u) { p = p->lien; } return p; } main() { struct elem *L; struct elem *P; free(L); L->val = 10; free(L->lien); (L->lien)->val = 11; free((L->lien)->lien); (L->lien->lien)->val = 12; free((L->lien->lien)->lien); (L->lien->lien->lien)->val = 13; L->lien->lien->lien)->lien = NULL; p = premier_element_sup_ou_egal(14); if(p != NULL) { printf("%d",p->val); } else { printf("L'element recherche n'existe pas"); } } }
merci beaucoup de votre aide .
Partager