#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
typedef struct listnode{
int item;
struct listnode *next;
}ListNode;
typedef struct _linkedlist{
ListNode *head;
int size;
} LinkedList;
void printList(LinkedList *ll);
int sizeList(LinkedList *ll);
int insertSorted(LinkedList *ll, int value);
int removeDuplicates(LinkedList *ll);
int main()
{
int choice, i = 0;
ListNode *temp=NULL;
LinkedList *ll=NULL;
printf("1. create LinkedList\n2. insertSorted\n3. removeDuplicates\nChoose an option: ");
scanf("%d", &choice);
switch (choice)
{
case 1:
printf("Enter a list of numbers, terminated by the value -1: ");
scanf(" %d", &i);
while (i != -1){
if (ll == NULL)
{
ll = malloc(sizeof(LinkedList));
temp = ll;
}
else
{
temp->next = malloc(sizeof(ListNode));
temp = temp->next;
}
temp->item = i;
scanf(" %d", &i);
}
temp->next = NULL;
printList(&ll);
printf("Size of linked is %d", sizeList(&ll));
break;
case 2:
default:
break;
}
}
void printList(LinkedList *ll)
{
ListNode *temp = ll->head;
if (temp == NULL)
return;
while (temp!=NULL)
{
printf("%d ", temp->item);
temp = temp->next;
}
printf("\n");
}
int sizeList(LinkedList *ll)
{
int size=0;
ListNode *temp = ll->head;
if (temp == NULL)
return 0;
while (temp != NULL)
{
size++;
ll->size = size;
temp = temp->next;
}
return ll->size;
}
링크 된 목록을 만들고 링크 된 목록의 크기를 계산하여 출력하고 싶습니다. 나는 크기를 가져 와서 목록을 인쇄 할 수 있지만 결국에는 내 프로그램이 디버그 오류를 보여 주며 변수 'll'주위의 런타임 검사 실패 # 2 - 스택이 손상되었다고 표시합니다. 이런 일이 왜 일어 났는지 알 수 있습니까?LinkedList 스택이 손상됨