다음 코드의 인쇄 목록 기능이 작동하지 않습니다. 주 함수에서 노드 포인터를 전달하면 값이 전달되지 않습니다.포인터가 전달되지 않고 인쇄 목록이 작동하지 않습니다.
void printlist(node *head)
{
node *current=head;
while(current!=NULL)
{
printf("\n %d",current->data);
current=current->next;
}
}
int main(void)
{
int ch=1;
int choice=1;
while(ch=1)
{
node *head;
head=(node*)malloc(sizeof(node));
printf("Press 1 for create list \n2 for display \n3 for add at end of list \n");
scanf("%d",&choice);`
switch(choice) {
case 1:
head=createlist();
node *current=head;
break;
case 2:
printf("Welcome to list printer");
printlist(head);
break;
}
}
}
** 참고 : -create 목록 내가 질문 크기를 줄이기 위해 여기에 넣어되지 않은 잘 작동, 내가 메인 함수 내에서 같은 인쇄 기술을 사용하여 시도하고 그것은 charm.Its처럼 일에만 내가 오류를 시작한 함수로 구현하려고했을 때.
디버거에서 코드를 단계별로 또는 값을 검사하는 코드에서 일부의 printf 문에 넣어나요
malloc()
의 반환을 캐스팅하지 않습니다'createlist()'함수가 잘 동작합니까? – Qiu
while 루프가 깨 졌으므로 아마도 == – Fred