bonjour/soir

voilà j'ai ptit pb de pointeur , rien de bien méchant je pense quand on pratique depuis un moment mais moi je bloque :

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
#include <stdio.h>
#include <stdlib.h>
#include "vars.h"
 
 
struct noeud *add ( struct noeud *p1 , struct noeud *p2){
struct noeud *p,*q,*s,*r;
p=p1->lien;
s=p;
q=p2->lien;
while (abc!=-1){
        if ((q->abc)>(p->abc)){
        r=(struct noeud *)(malloc(sizeof(struct noeud)); // le probleme vient d'ici
        (r->coef)=(q->coef);
        (r->abc)=(q->abc);
        (r->lien)=p;
        (s->lien)=r;
        s=r;
        q=(q->lien);
        }
        else {
                if ((q->abc)<(p->abc)){
                s=p;
                p=(p->lien);
                }
                else{
                (p->coef)=(p->coef)+(q->coef);
                if ((p->coef)!=0){
                s=p;
                p=(p->lien);
                q=(q->lien);
                }
                else {
                (s->lien)=(p->lien);
                free(p);
                p=(s->lien);
                q=(q->lien);
}
}
}
}
return p1;
};


ca m'affiche : syntax error before ';'


dans vars.h y a :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
#include <stdlib.h>
struct noeud {
int coef ;
int abc;
struct noeud *lien;
 };
 
int abc;
~

Merci d'avance