연결리스트에서 몇번째부분 삭제 이런거...음;;


2입력받으면 리스트의 두번째항목 삭제하는 그런식으로 만들려고하는데


어떻게해야하는지 좀 알려주세요...계속에러난다 ㅠ_


void del(LList *L) {

sch *p = L->head;

int i;

int removed = 0;

printf("삭제할 일정을 선택해주세요 : ");

scanf("%d", &removed);

if (removed == 1) {

L->head = p->next;

}

else {

for (i = 0; i != removed - 2; i++) {

if (p->next != NULL) p = p->next;

}

if (p->next->next != NULL) {

p->next = p->next->next;

free(p->next->next);

}

else {

p->next = NULL;

free(p->next);

}

}

while(p->next != NULL) p = p->next;

L->tail = p;


}


현재 구현현황인데

리스트에 하나있을때 그 하나 지워버리면 추가가 안됨...엉엉..

그리고 리스트 없는거... 리스트 두개있을때 3따위 입력하면 에러뜨면서 꺼진당... 그런거어케해결해야하지 으;;ㅠ;


들여쓰기는 왜 복사가 안되 망할