【求助】请问这个程序通过编译了还是被要求中断是怎么回事
程序代码:#include<stdio.h>
#include<stdlib.h>
#define Listsize 100
struct Node {
int data;
struct Node *next;
};
typedef struct Node ListNode;
typedef struct Node *LinkList;
LinkList CreateCycleList(int n);
void DisplayCycleList(LinkList head);
int main()
{
LinkList h;
int n;
printf("创建一个循环的单链表:\n");
printf("请输入元素的个数:");
scanf_s("%d", &n);
h = CreateCycleList(n);
DisplayCycleList(h);
return 0;
}
LinkList CreateCycleList(int n)//创建一个不带头节点的循环单链表
{
int e;
LinkList head = NULL;
ListNode *p, *q;
int i;
i = 1;
q = NULL;
while (i <= n)
{
printf("请输入第%d个元素:", i);
scanf_s("%d", &e);
if (i == 1)
{
head = (LinkList)malloc(sizeof(ListNode));
head->data = e;
head->next = NULL;
q = head;
}
else
{
p = (LinkList)malloc(sizeof(ListNode));
p->data = e;
p->next = NULL;
q = p;
}
i++;
}
if (q != NULL)
q->next = head;
};
void DisplayCycleList(LinkList head)
{
ListNode *p;
p = head;
if (p == NULL)
{
printf("该链表是空表");
return;
}
while (p->next!= head) {
printf("%d", p->data);
p = p->next;
}
printf("%4d", p->data);
}










快要疯了