| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 457 人关注过本帖
标题:队列调试的问题
只看楼主 加入收藏
xjy080
Rank: 2
等 级:论坛游民
帖 子:55
专家分:78
注 册:2008-9-15
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:4 
队列调试的问题
#include"stdio.h"
#include"stdlib.h"
#include"malloc.h"


typedef struct node
{
    char c;
    struct node *next;
}qnode,*basic_node;

typedef struct
{
    qnode *head;
    qnode *rear;
}queue,*Q;

main()
{
    Q q;
    basic_node p,l;
    char ch;
    int choice;
   
    q=(Q)malloc(sizeof(queue));
    q->head=NULL;
    q->rear=NULL;

    printf("输入队列元素:\n");
    scanf("%c",&ch);
    getchar();

    while(ch!='!')
    {
        p=(qnode *)malloc(sizeof(qnode));
        p->c=ch;
        p->next=NULL;
        if(q->head!=NULL)
        {
            q->head=p;
            l=q->head;
        }
        l->next=p;
        l=p;
        q->rear=p;
        scanf("%c",ch);
        getchar();
    }
    l=q->head;
    while(l!=NULL)
    {
        printf("%c--<",l->c);
        l=l->next;
    }
    printf("\n");
    printf("头指针指向元素为%c\尾指针指向的元素为%c\n",q->head->c,q->rear->c);
    getch();
}

编译通过,但是运行的时候,有问题,大家帮个忙看下,谢谢了!!
搜索更多相关主题的帖子: 调试 队列 
2010-07-01 17:30
xiaweiqiang
Rank: 2
等 级:论坛游民
帖 子:27
专家分:82
注 册:2010-7-1
收藏
得分:20 
   q=(Q)malloc(sizeof(queue));   地址是不是搞错了
2010-07-01 17:33
xjy080
Rank: 2
等 级:论坛游民
帖 子:55
专家分:78
注 册:2008-9-15
收藏
得分:0 
明示啊 这个不是分配以个队列头指针吗?
2010-07-01 17:43
xjy080
Rank: 2
等 级:论坛游民
帖 子:55
专家分:78
注 册:2008-9-15
收藏
得分:0 
自己搞定了
2010-07-01 21:29
xiaweiqiang
Rank: 2
等 级:论坛游民
帖 子:27
专家分:82
注 册:2010-7-1
收藏
得分:0 
#include"stdio.h"
#include"stdlib.h"
#include"malloc.h"


typedef struct node
{
    char c;
    struct node *next;
}qnode,*basic_node;

typedef struct
{
    qnode *head;
    qnode *rear;
}queue,*Q;

void main()
{
    Q q;
    basic_node p,l;
    char ch;
    int choice;
   
    q=(Q)malloc(sizeof(queue));
    q->head=NULL;
    q->rear=NULL;

    printf("输入队列元素:\n");
    fflush(stdin);
    scanf("%c",&ch);


    while(ch != '!')
    {
        p=(qnode *)malloc(sizeof(qnode));
 
        if(p == NULL)
        {
            printf("内存申请失败!\n");
            return;
        }

        p->c=ch;
        p->next = NULL;
        if(q->rear == NULL)
        {
            q->head = q->rear = p;

        }

        else
        {
            q->rear = q->rear->next = p;      
        }

        fflush(stdin);
        scanf("%c",&ch);

    }
    l=q->head;
    while(l != NULL)
    {
        printf("%c--<",l->c);
        l=l->next;
    }
    printf("\n");
    printf("头指针指向元素为%c  尾指针指向的元素为%c\n",q->head->c,q->rear->c);


}   
2010-07-02 08:42
快速回复:队列调试的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014764 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved