샘플리스트 imlpementation을 확인하기 위해 다음 코드를 시도했습니다. 그러나 언제든지 결과를 표시하려고 할 때 루프 내부에 들어갑니다. 나는 그것이 어디서 잘못되고 있는지를 알 수 없다.올바른 목록 값을 표시 할 수없는 이유는 무엇입니까?
#include<stdio.h>
#include<stdlib.h>
typedef struct linkedlist
{
int data;
struct linkedlist *next;
}node;
int main()
{
int ch,num;
node *head=NULL;
head=(node *)malloc(sizeof(node));
node *new=NULL;
new=(node *)malloc(sizeof(node));
node *temp=NULL;
temp=(node *)malloc(sizeof(node));
printf("\n1.Insert to list");
printf("\n3.Display the list");
printf("\n Enter Choice->");
scanf("%d",&ch);
switch(ch)
{
case 1:printf("\n Enter data->");
scanf("%d",&num);
new->data=num;
new->next=NULL;
head->next=new;
break;
case 3: temp=head;
while(temp!=NULL)
{
printf("\n %d",temp->data);
temp=temp->next;
}
break;
default:printf("Wrong Choice");
break;
}
return 0;
}
하지만 사용자가 1을 누를 때마다 새로운 "새로운"노드가 만들어지고 연결되어있는 것 같습니다. 내가 생각할 때 일어나지 않는다면 사용자가 1을 누를 때마다 새 노드를 어떻게 만들 수 있습니까? – Mistu4u
실제로 새로운 노드를 생성하는 코드는'malloc (sizeof (node))'호출입니다. –