이것은 연결 목록 용으로 작성한 코드입니다. 기본적으로 입력을 받아 인쇄합니다. 컴파일시 오류가 발생하지 않으며 출력도 없습니다. 이 코드가 잘못된 것은 아닙니다. 도와주세요. 당신은 당신이 할 때 노드의 포인터를 유지하고 또한 같은 시도 *
인쇄 연결된 목록에서 출력 없음
node=malloc(sizeof(struct list*));
를 제거하지 않기 때문에
#include<stdio.h>
struct list {
int data;
struct list* next;
};
insert(struct list* node, int data)
{
node = malloc(sizeof(struct list*));
if (node == NULL)
node = data;
else
node->data = data;
node->next = NULL;
return node;
}
printlist(struct list* node)
{
if (node == NULL)
printf("Empty list\n");
while(node->next != NULL)
printf("the list contains %d", node->data);
node = node->next;
}
main()
{
struct list* NODE;
NODE = malloc(sizeof(struct list*));
insert(NODE, 3);
insert(NODE, 5);
printlist(NODE);
}
첫 번째 오류는 main()에 두 번째'node = data; // 호환되지 않는 타입'을 삽입() 함수에 추가합니다 (이 2 포인트도 추가). 그러므로 내 대답이 완전하지 않으므로 삭제됩니다. –