#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: 語法錯誤 : 缺少“;”(在“類型”的前面)
你的main部分少了右花括號"}"加上就可以了。