注册 登录
编程论坛 C语言论坛

可以运行,但是无输出

hubingleo 发布于 2021-04-24 22:29, 1594 次点击
#include<stdio.h>
#include<malloc.h>
typedef struct Queue
{
    int *pBase;
    int front;
    int rear;
}QUEUE;

void init(QUEUE *);
bool en_queue(QUEUE *,int);
void traverse_queue(QUEUE *);
bool full_queue(QUEUE *);

int main(void)
{
    QUEUE Q;
    init(&Q);
    en_queue(&Q,2);
    en_queue(&Q,3);
    traverse_queue(&Q);
    return 0;
}

void init(QUEUE *pQ)
{
    pQ->pBase =(int *)malloc(sizeof(int)*6);
    pQ->front=0;
    pQ->rear=0;
}

bool full_queue(QUEUE *pQ)
{
    if( (pQ->rear+1)%6==pQ->front )
        return true;
    else
        return false;
}

bool en_queue(QUEUE *pQ,int val)
{
    if(full_queue(pQ))
        return false;
    else
    {
        pQ->pBase[pQ->rear]=val;
        pQ->rear=(pQ->rear+1)%6;
        return true;
    }
}

void traverse_queue(QUEUE *pQ)
{
    int i=pQ->front;
    while(i=!pQ->rear)
    {
        printf("%d ",pQ->pBase[i]);
        i=(i+1)%6;
    }
    return;
}
2 回复
#2
apull2021-04-25 01:46
while(i=!pQ->rear)改为while(i!=pQ->rear)
#3
hubingleo2021-04-25 12:45
感谢感谢
1