2 a dong 2014 a_dong_2014 于 2014.12.09 15:34 提问

vs2010中怎么经常报错!求助 !
c

#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: 语法错误 : 缺少“;”(在“类型”的前面)

4个回答

save4me
save4me   Ds   Rxr 2014.12.09 17:18
已采纳

你的main部分少了右花括号"}"加上就可以了。

save4me
save4me 不客气,代码上次我用Dev C++编译过,好像都是不匹配或者输入不正确。不知道你想要达到什么样的效果
大约 3 年之前 回复
a_dong_2014
a_dong_2014 十分感谢! 编译通过了, 就是代码有点问题 ,嘻嘻
大约 3 年之前 回复
save4me
save4me 你的main函数花括号没有闭合,在void make_empty(void)这句的上一行加一个}。其实你把代码格式化一下,就很容易发现了
大约 3 年之前 回复
a_dong_2014
a_dong_2014 大神可否具体相告哪一部分的错误?⊙▽⊙
大约 3 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2014.12.09 15:54

具体对应哪一行代码出错啊,看上去是少了;

wangyaninglm
wangyaninglm   Ds   Rxr 2014.12.09 20:44

这能编译通过?我看不行吧

u014766078
u014766078   2014.12.10 08:21

一看就是你的大括号少了咯

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!