typedef struct node{
int data;
struct node *link;
}nd;
nd *head=NULL , *ahead=NULL;
void create_node(int item) {
nd *new, *temp;
new = (nd*)malloc(sizeof(nd));
new->data=item;
new->link=NULL;
if(head==NULL) {
head=new;
}
else {
temp=head;
while(temp->link!=NULL) {
temp=temp->link;
}
temp->link=new;
}
}
void alpha_check(int size) {
int i,j,num;
nd *ti , *tj;
ti=tj=head;
for(i=1 ; i<=size ; i++) {
for(j=1 ; j<=size ; j++) {
num = ((ti->data)*10)+(tj->data);
tj=tj->link;
/*if(num>=65 && num<=90) {
printf("\n->%d",num);
}*/
}
//ti=ti->link;
}
}
void traverse(nd *thead) {
while(thead->link!=NULL) {
printf("%d ",thead->data);
thead=thead->link;
}
printf("%d ",thead->data);
}
Ainsi, le seul problème dans le code ci-dessus réside dans la fonction alpha_check() où je veux la variable point de tj au noeud suivant. Au lieu de pointer sur le nœud suivant, il me donne Erreur de segmentation (core dumped). s'il vous plaît expliquer pourquoi je ne peux pas faire tj point au prochain nœud.lien de défaut de segmentation de la liste
for (i = 1; i <= taille; i ++) { for (j = 1; j <= taille; j ++) { . est un problème .. vous devez ajouter un drapeau à traverser jusqu'à thread-> link! = NULL –
Nous ne voyons pas comment la liste est créée, ni comment 'alpha_check' est appelé. Il semble que cette «taille» est erronée. Il est également étrange de parcourir une liste en utilisant une taille et non une boucle while jusqu'à la fin de la liste. Utilisez un débogueur. Il vous dira ce qui ne va pas et où cela arrive. –
Quelle est la taille que vous passez à la fonction alpha_check? – Ganeshdip