私はCで1つのリンクリストを調べようとしています。 xを押して停止するまで、数字を単一のリンクリストに入れるとします。なぜCのリンクリストを使って繰り返しループを繰り返しませんか?
第2入力の何らかの理由で重大な障害が発生します。
どうしてですか?ありがとう。
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;
}
}
どこが間違っているかについて、より具体的な情報をGoogleに提供する必要があります。 –
また、あなたのコード全体にいくつかのprintfを追加して、間違っている箇所を見つけ出してください。 –
:デバッガの使い方を知っていると、後で何時間も安全になるので、問題を解決することをお勧めします。 –