c语言关于链式队列的一些问题
#include<stdio.h> #include<stdlib.h> typedef struct LinkQueue { int data; struct LinkQueue *next; }LinkQueue,*LinkStr; typedef struct Link{ LinkStr front; LinkStr rear; }Link; Link* InitQueue(Link* q); void EnterQueue(Link* q); int main(void) { Link* queue = NULL; queue=InitQueue(queue); EnterQueue(queue); return 0; } //初始化 Link* InitQueue(Link* q) { q->front=q->rear= (LinkStr)malloc(sizeof(LinkQueue)); q->front->next = NULL; return q; } //入队列 void EnterQueue(Link* q) { LinkQueue *number = NULL; number = (LinkQueue*)malloc(sizeof(LinkQueue)); int n = 0; int flag = 1; printf("请输入元素:"); while (flag) { scanf("$%d", &n); if (n != -1) { number->data = n; q->rear->next = number; q->rear = number; } else { flag = 0; } } }
回答
问题补充:
为啥有这种情况,已经困扰一下午了。。。。。。