#include
#include
#define STACK_SIZE 100
char contents[STACK_SIZE];
int top=0;
void make_empty(void);
int is_empty(void);
void stack_underflow(void);
void stack_overflow(void);
void push(char i);
int pop(void);
int is_full(void);
int main()
{
char a,c;
printf("Enter parenteses and/or braces:");
for(;;){
c=getchar();
if(c=='\n'){
if(top==0){
printf("匹配!\n");break;}
else{
printf("不匹配!\n");break;}}
else if(c=='{'||c=='('||c=='[')
push(c);
else if(c=='}'||c==')'||c==']'){
a=pop();
if((c=='}' && a!='{')||(c==')' && a!='(')||(c==']' && a!='[')){
printf("不匹配!!\n");break;}
else{
printf("输入不正确");break;}}
}
void make_empty(void)
{
top=0;
}
int is_empty(void)
{
if(top==0)
return 1;
else
return 0;
}
int is_full(void)
{
if(top==STACK_SIZE)
return 1;
else
return 0;
}
void push(char i)
{
if(is_full())
stack_overflow();
else
contents[top++] = i;
}
int pop(void)
{
if (is_empty())
stack_underflow();
else
return contents[--top];
}
void stack_overflow(void)
{
printf("Stack Overflow\n");
printf("bupipei\n");
exit (0);
}
void stack_underflow(void)
{
printf("Stack Underflow\n");
exit (0);
}
1>c:\users\lenovo\documents\visual studio 2010\projects\20141126.c\20141126.c\596.c(42): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。