Langage C, plantage sur boucle while

kalkos Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
kalkos Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je ne sais pas pourquoi mais mon programme plante a chaque fois qu'il doit aller dans une boucle while ("indiquer en dessous")
Pouvez vous m'aider a trouver pourquoi ?


Voici mes structures

typedef struct elem
{int value;
struct elem* prev;
struct elem* next;
}element;

typedef element* absvalue;


typedef struct
{ int sign;
absvalue abs;
}BigInteger;


BigInteger insert_tail (BigInteger S, int j, int r)
{
absvalue newel = (element*) malloc (sizeof(element));
newel->value = abs((j%10000+r)%10000);
newel->prev = NULL;
newel->next = NULL;

absvalue k = S.abs;

//c'est au niveau du while qui suis que vien le problème.\\
while (k->next != NULL)
{
k = k->next;
}

k->next = newel;
newel->prev = k;
return S;
}
A voir également:

4 réponses

toto
 
Bonjour

Il nous manque l'initialisation de S. On peut supposer que S n'est jamais initialisé, S.abs non plus donc k->next provoque une erreur
0
kalkos Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
S provien d'une autre fonction dans laquelle il est déclaré ainsi :
BigInteger S;
S.abs=NULL;
S.sign=0;
0
toto
 
Si S.abs est NULL, alors k est NULL dans ta fonction et k->next est illégal.
0
kalkos Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
oki, merci ;) je vais tester ca
0