Я пытаюсь изучить одиночный связанный список в C. Я написал этот код, который предположил бы получить числа в один связанный список, пока пользователь не захочет остановиться, нажав x.Почему этот цикл не повторяется более одного раза через связанный список в C?
По какой-то причине на втором входе я получаю значительную ошибку.
Почему это происходит? Благодарю.
typedef struct node {
int data;
struct node *next;
}node_t;
node_t * getnode(){
return (node_t*) malloc(sizeof(node_t));
}
main(){
char c;
char drek;// use to ignore char 10
node_t *s= getnode();
s->next=NULL;
node_t *t=s;
while(1){
printf("enter data\n");
scanf("%d", &s->data);
printf("x for exit\n");
c=getchar();
drek=getchar();//ignore char 10
if (c=='x'){
s->next=NULL;
break;
}
s=s->next;
}
}
Вам нужно предоставить нам более подробную информацию о том, что происходит не так. –
также просто добавьте несколько printf на весь ваш код, чтобы выяснить, где все пошло не так. –
и: зная, как использовать отладчик, вы сможете сэкономить массу времени, поэтому я бы посоветовал использовать вашу проблему для этого. –