Bonjour,
d'abord
>J'utilise TP7
>Je débute ^^
Mon problème: ce code ne renvoie pas toujours la même chose:
Ce code, comme vous le constatez, ne prend rien en entrée (j'ai fait ce programme juste pour tester la procédure).
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 type liste=^mots; mots= record contenu:string; suiv:liste; end; procedure ajoutemot(i:string; var l:liste); begin if l=nil then begin new(l); l^.contenu:=i; end else begin ajoutemot(i,l^.suiv) end end; var l:liste; begin ajoutemot('yop',l); writeln(l=nil); writeln(l^.suiv=nil); ajoutemot('yep',l); writeln(l^.contenu); writeln(l^.suiv^.contenu); end.
Voici le problème: il n'écrit pas toujours la même chose, et je ne comprend pas pourquoi:
Première éxécution il écrit:
FALSE
TRUE
yop
yep
Deuxième éxécution:
FALSE
FALSE
yop
yep
Troisième éxécution: error 202:stack overflow error![]()
La procédure, vous l'aurez compris, sert à ajouter un mot à la liste (chainée) de mots.
Pouvez vous me dire où est l'erreur?
Et tant qu'à faire, pouvez vous me donner une procédure qui marche?
Merci beaucoup
thelinekioubeur
Partager