-6
목록이 있는데이 목록에서 사람들의 이름을 비교하는 레지스터를 제거하고 싶습니다.strcmp (목록)로 세그먼트가 잘못되었습니다.
void remove(char name[]){
if (pBegin!=NULL){
Nodo *pcopy;
if (!strcmp(name,pBegin->person.name)){
pcopy=pBegin;
pBegin=pBegin->pNext;
printf("REMOVED!\n");
free(pcopy);
}
else{
Nodo *pCurrent=pBegin;
Nodo *pPrevious=NULL;
while ((strcmp(name,pCurrent->person.name)) && (pCurrent!=NULL)){ // here is probably the error
pPrevious=pCurrent;
pCurrent=pCurrent->pNext;
}
if (pBegin==NULL)
printf("The name was not found!\n");
else{
pPrevious->pNext=pCurrent->pNext;
printf("REMOVED!\n");
free(pCurrent);
}
}
}
else
printf("empty list!\n");
}
큰 게시물에 대한 죄송 시각적으로 추한 : 다음은 함수를 제거합니다. 그것은 여기에 내 첫 게시물과 나는 C를 처음이야, 모든 노력했지만이 오류를 해결할 수 없습니다.
우리가 파헤쳐야 할 코드가 너무 많습니다. 프로그램을 디버그하고 문제를 해결할 수없는 경우 짧은 예제 데모와 함께 문제를 게시하십시오. StackOverflow는 디버깅 서비스가 아닙니다! – Johnsyweb
@Johnsyweb [ok] –