请帮我看看括号匹配,那里有问题,执行时老是错误终止。谢谢!
程序代码:#include<stdio.h>
#include<stdlib.h>
typedef struct{
char *base,*top;
int size;
}stack2;
int init_stack2(stack2 &s);
int push2(stack2 &s,int e);
int pop2(stack2 &s);
int sfull2(stack2 s);
int empty2(stack2 s);
int gettop2(stack2 s,char &e);
void get(char *str)
{gets(str);}
void match(char*str,stack2 &s)
{while(*str)
{switch(*str)
{case'(':
push2(s,*str);break;
case')':
if(s.top==s.base)
{printf("右括号多余\n");return;
}
pop2(s);break;}
str++;}
if(s.top==s.base)
{printf("匹配\n");return;}
else{printf("不匹配\n");return;}
}
void main()
{stack2 s;
char *str;
init_stack2(s);
printf("shuru\n");
get(str);
match(str,s);
}









