1
従業員IDと名前を格納するリンクリストを作成しました。リンクされたリストを印刷中にエラーが発生しました
私はそれを印刷しようとしたときに従業員の名前ではなくidだけを表示し、ユーザーが-1を入力して名前を聞いていないときにプログラムを終了して、単にプログラムを終了してIDと名前私は現在、あなたが実際にname
変数に読み込む
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct node
{
int id;
char name[20];
struct node *next;
};
struct node *create()
{
struct node *p, *r, *n;
int s, k;
char name[20];
s = sizeof(struct node);
printf("Linked List\n");
printf("Enter id:");
scanf("%d", &k);
printf("Enter name:");
scanf("%s", name);
p = r = NULL;
while(k!=-1)
{
n = (struct node *)malloc(s);
n->id = k;
n->next = NULL;
if(r == NULL)
r = n;
else
p->next=n;
p=n;
printf("Enter the Id or-1 to stop:");
scanf("%d", &k);
printf("Enter the name ");
scanf("%s", name);
}
return(r);
}
void display(struct node *r)
{
printf("\nId Name \n");
while(r != NULL)
{
printf("\n %d", r->id);
printf("\n %s", r->name);
r = r->next;
}
}
int main()
{
struct node *ptr;
ptr = create();
display(ptr);
}
あなたは読み込みの名前を保存しません... –
横:あなたのプログラムの流れは、終了コード-1を入力した後にユーザーが名前を入力するという点で奇妙です。 –
コードのインデントを修正してください。 –