标题:[求助]有关栈的问题
只看楼主
yesxdf
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-6-1
 问题点数:0 回复次数:16 
[求助]有关栈的问题

#include <stdio.h>
#include<stdlib.h>
#define Max 100

char *top;
char *boton;
char *p;

void push(char m)
{
if(p>top)
{
printf("栈以满\n");
return;
}
else
{
p++;
*p=m;
}
}

void pop()
{
char q;
if(p<=boton)
{
printf("空栈\n");
return;
}
else
{
q=p;
p--;
free(q);
}
}

void main(void)
{
char *q,c;
p=(char *) malloc (Max*sizeof(char));
if(!p)
{
printf("内存分配失败\n");
return(1);
}
boton=p;
top=p+Max-1;
printf("请输入数据:\n");
while(1)
{
c=getchar();
if((p==boton)&&(c=='#'))
{continue;}
if((p!=boton)&&(c=='#'))
{
pop();
}
if(c=='\n')
{
break;
}
else
{
push(c);
}
}
q=boton;
printf("\n");
while(q<p)
{
q++;
printf("%c",*q);
}
}

该程序的功能原本是输入一串字符,如果遇到#就删除前一个字符,如输入aabbcc#ddee##fg#h,输出为aabbcddfh
请问该怎么解决。

搜索更多相关主题的帖子: include return 
2006-06-01 20:03
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
char *top;
char *boton;
char *p;


这是什么栈,"连战"吗

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-06-01 20:38
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
得分:0 
用普通变量接字符,如果不是'#'就入栈,是'#'就出栈就行了

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-06-01 20:45
yesxdf
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-6-1
得分:0 

不就是这个意思嘛!怎么不出结果

2006-06-01 20:53
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-01 21:28
yesxdf
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-6-1
得分:0 

哪该怎么该啊

2006-06-01 22:26
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-06-01 23:00
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
得分:0 
if((p!=boton)&&(c=='#'))
{
pop();
}
else if(c=='\n')/*建议加个"else"*/
{
break;
}
else
{
push(c);
}

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-02 04:36
evil_evil
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2006-3-4
得分:0 
栈的定义为

typedef struct
{
char data[maxsize];
int top;
}seqstack;

潜水员!
2006-06-02 08:08
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
得分:0 
LZ那种是动态下建立的“栈”

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-02 08:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-69116-1-1.html




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

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