分配空间时 p=(node *)malloc(sizeof(node)); 强转下
int Empty_Queue (Queue *q) //多了半边括号
{
if(q->front==q->rear) return 0; // 判断有问题 如果只有一个节点不为空但是q->front==q->rear
else return 1;
}
int Out_Queue(Queue *q,char *x)
{
node *p;
if(Empty_Queue){printf("队空!");return 0;}
else{
p=q->front->next; /// p=q->front;
q->front->next=p->next;
*x=p->s;
free(p);
if(q->front->next=NULL) q->rear=q->front; /// 条件判断少了个等号吧 这句是干嘛?如果是判断只有一个节点的出队情况应放在前面去判断吧
return 1;
}