| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 445 人关注过本帖
标题:一个病人看病的程序,始终有错误,请高手指点!
只看楼主 加入收藏
青密
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-5-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
一个病人看病的程序,始终有错误,请高手指点!
#include <stdio.h>
#include <malloc.h>
typedef struct qnode{
    int data;
    struct qnode *next;
}qnode, *queueptr;   //结点类型;
typedef struct {
    queueptr front;
    queueptr rear;
}linkqueue;             // 链队类型;


void initqueue(linkqueue &q){

   
    q->front=q->rear=(queueptr)malloc(sizeof(qnode));    //创建空队;
    if (!q->front) exit(-2);
    q->front->next =NULL;
}
void main()
{
    int no=0;
    linkqueue *q;
    initqueue(&q);
    qnode *p;
    printf("输入病历号: \n");
    scanf("%d",&no);
    p=(queueptr)malloc(sizeof(qnode));   //创建结点;
            p->data =no;
            p->next =NULL;
            if(q->rear ==NULL)       //第一个病人排队;
            {
                q->front =q->rear =p;
            }
            else{
                q->rear ->next =p;
                q->rear =p;
            }
            printf("出现\n");
}
搜索更多相关主题的帖子: 看病 include 
2011-05-13 15:47
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
收藏
得分:10 
很多错误在编译的时候就出来啦

还是自己多看看  
2011-05-14 09:59
灿烂烟火
Rank: 2
来 自:湖北武汉
等 级:论坛游民
帖 子:12
专家分:36
注 册:2011-5-10
收藏
得分:10 
定义*q后没有初始化,就使用q指向队列的队首和队尾的操作非法。如
void initqueue(linkqueue &q){   
    q->front=q->rear=(queueptr)malloc(sizeof(qnode));    //创建空队;
     if (!q->front) exit(-2);
     q->front->next =NULL;
 }
 中q->front=q->rear=(queueptr)malloc(sizeof(qnode));
q->front->next =NULL;均为非法操作。主函数中的此类操作同样非法。
2011-05-19 22:58
快速回复:一个病人看病的程序,始终有错误,请高手指点!
数据加载中...
 
   



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

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