求助

fanghua08 2008-10-21 08:11:41
用A和B两个栈实现队列功能。我编的程序为什么只能输出第一个字符?
#include<stdio.h>
#define false 0
typedef struct NODE
{
char data;
struct NODE *next;
}node;
void init(node *top)
{
top->next=NULL;
}
char push(node *top,char m)
{
node *p;
p=(node *)malloc(sizeof(node));
if(p==NULL)
return(false);
p->data=m;
p->next=top->next;
top->next=p;
}
void pop(node *top,char *n)
{
node *p;
p=top->next;
if(p!=NULL)
{
*n=p->data;
top->next=p->next;
}
else
printf("the list is empty");
}
main()
{
node *top1,*top2; /*top1:A,*top2:B*/
char m,*n;
init(top1);
printf("please input:\n");
m=getchar();
while(m!='*')
{
push(top1,m);
m=getchar();
}
while(top2->next!=NULL)
pop(top2,n);
while(top1->next!=NULL)
{
pop(top1,n);
push(top2,*n);
}
while(top2->next!=NULL)
{
pop(top2,*n);
m=*n;
printf("%5c",m);
}
}
...全文
51 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
见习学术士 2008-10-21
  • 打赏
  • 举报
回复

while(top2->next!=NULL)
pop(top2,n); //这里是不是应该改成pop(top2,*n)
while(top1->next!=NULL)
{
pop(top1,n); //这也是
push(top2,*n);
}

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧