q958688524 2018-10-16 04:11 采纳率: 50%
浏览 571
已采纳

char数组问题,导致程序卡死

为什么我的EnQueue会卡死,我总感觉是char数组出了问题

     #include<iostream>
    #include<malloc.h>
    #include<stdio.h>
    #include<string.h>
    using namespace std;

    typedef struct node{**//队列**

    char name[20];

    struct node *next;

    }QType;

     typedef struct lnode{//队头,队尾指针

    QType *front;

    QType *rear;

    }LQueue;

    void InitQueue(LQueue *&lq){//初始化队列

    lq=(LQueue *)malloc(sizeof(LQueue));

    lq->front=lq->rear=NULL;

    }

    void EnQueue(LQueue *&lq,char name[]){//插入队尾元素

    QType *p;

    p=(QType *) malloc (sizeof(QType));

    strcpy(p->name,name);p->next=NULL;

    if(lq->front=NULL)

        lq->front=lq->rear=p;

    else{

        lq->rear->next=p;

        lq->rear=p;

    }

    } 

    int ShowQueue(LQueue *lp){//输出队列元素

    QType *p;

    if(lp->front==NULL)return 0;

    else{

        p=lp->front;

        cout<<"当前正在排队的有:";

        while(p!=NULL){

            cout<<" "<<p->name;

            p=p->next;

        }

    }

    }

    int main(){

    LQueue *p;

    InitQueue(p);  //初始化

    char name[]="gggg";

    EnQueue(p,name);**_//插入队尾元素  但是失败_**

    ShowQueue(p);//输出元素

    return 0;

    }
  • 写回答

1条回答 默认 最新

  • cold_windx 2018-10-16 04:21
    关注

    EnQueue函数中,第一个if语句判断条件写错了,是lq->front == NULL,你写成赋值=了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?