qq_58651971 2021-10-10 23:37 采纳率: 40%
浏览 41
已结题

救命,代码运行不出来,感觉好像是进栈,和进队列出的错

#include<stdio.h>
#include<stdlib.h>
typedef struct lnode
{
char ldata;
struct lnode *next;
}lnode;
typedef struct qnode
{
char qdata;
struct qnode *qnext;
}qnode;
typedef struct
{
qnode *front;
qnode *rear;
}quene;
void pushlnode(lnode *head,char x); //进栈
char poplnode(lnode *head); //出栈
void pushqnode(quene *s,char x); //进队列
char popqnode(quene *s); //出队列
void llnode(lnode *head);
void qqnode(quene *s);
lnode *head;
quene *s;
int main()
{
char x;
printf("请输入你想要判断是否为回文的字符串:");
llnode(head);
qqnode(s);
scanf("%c",&x);
while(x!='#')
{
pushlnode(head,x);
pushqnode(s,x);
scanf("%c",&x);
}
printf("dgdhk");
while(head->next!=NULL&&s->front!=NULL)
{
if(poplnode(head)!=popqnode(s))
{
printf("该字符串不是回文");
return 0;
}
}
printf("该字符串是回文");
return 0;
}
void llnode(lnode head)
{
head=(lnode
)malloc(sizeof(lnode));
head->next=NULL;
}
void qqnode(quene *s)
{
//s=(quene *)malloc(sizeof(quene));
s->rear=NULL;
s->front=NULL;
}
void pushlnode(lnode *head,char x)
{
lnode *p;
p=(lnode *)malloc(sizeof(lnode));
p->ldata=x;
p->next=head->next;
head->next=p;
}
char poplnode(lnode *head)
{
lnode *p;
char d;
p=head->next;
if(p==NULL)
{
printf("堆栈已空");
return 0;
}
head->next=p->next;
d=p->ldata;
free(p);
printf("%d ",d);
return d;
}
void pushqnode(quene *s,char x)
{
qnode *p;
p=(qnode *)malloc(sizeof(qnode));
p->qdata=x;
p->qnext=NULL;
if(s->rear!=NULL)
s->rear->qnext=p;
s->rear=p;
if(s->front==NULL)
s->front=p;
}
char popqnode(quene *s)
{
qnode *p;
char d;
if(s->front==NULL)
{
printf("队列已空");
return 0;
}
else
{
d=s->front->qdata;
p=s->front;
s->front=s->front->qnext;
if(s->front==NULL)
s->rear=NULL;
free(p);
printf("%d ",d);
return d;
}
}

  • 写回答

1条回答 默认 最新

  • SoftwareTeacher 《编程之美》作者 2021-10-11 00:25
    关注

    请问你的输入是什么?

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月13日
  • 修改了问题 10月11日
  • 创建了问题 10月10日

悬赏问题

  • ¥15 网站设计与开发职业技能大赛试题
  • ¥20 在使用CESM2.2.0模型进行case.submit过程中出现如下错误(关键词-Map)
  • ¥15 有办法改变通过wifi进入的网站的设置吗
  • ¥15 所以到底怎么算!算到凌晨五点都算不出来!
  • ¥15 label_studio
  • ¥15 请教如何phython发邮件
  • ¥15 linux系统安装问题
  • ¥15 路径规划如何采用矢量法让他们尽量在一个方向
  • ¥15 crypto 一道rsa解密题
  • ¥15 survIDINRI已将生存时间转为数值变量,仍错误 Time variable is not numeric。