원형연결리스트 삭제함수 부분 좀 도와주세요ㅠㅠ
루나
2023.04.01
질문 제목 : 원형연결리스트 삭제 함수부분입니다.첫번째 노드를 삭제하고 남은 노드들을 연결하는 건데 삭제는 되는데 프로그램이 터지더라구요..;;질문 내용 : 소스는 대충 이런식이구요.
l은 헤드포인터입니다. 삭제를 하고서 출력을 하면 프로그램이 터집니다;;ㅠㅠ
void del()
{
node* p=l;
node* p1;
int num;
if(l==null)
{
printf(삭제할 data가 없습니다.\n\n);
return;
}
else
{
printf(삭제할 data를 입력하세요 : );
scanf(%d, &num);
while(p-data!=num)
{
p1=p;
p=p-link;
if(p-data!=num)
{
printf(입력하신 data가 없습니다.\n\n);
return;
}
}
if(l-data==num)
{
l=l-link;
while(p-link!=l)
{
p=p-link;
}
p-link=l;
l-link=null;
return;
}
p1-link = p-link;
p-link = null;
}
}
뭐가 문제인지 도와주세요ㅠ