2个回答
展开全部
我已经回答过类似问题#include <stdio.h>
void getstr(char* p){
printf("input:\t");
scanf("%s", p);
return;
}
void main(){
char st[255];/*在程序中没有起多大作用*/
int top = 0;
char str[255];
char k;
int i=0;
int st_error=0;
getstr(str);
while ( (k=str[i]) != 0)
{
if (k == '(' ) st[top++] = k;/*top++;也一样,因为st这个栈空间没有起到存储的作用*/
if (k == ')' )
{
if (top == 0 )
{
st_error=1;
break;
}
else
top--;
}
i++;
}
if(st_error==0&&top==0) printf("匹配检查通过\n");
else
if(st_error==1) printf("缺少左括号!\n");
else
if(top>0) printf("缺少右括号!\n");
}
void getstr(char* p){
printf("input:\t");
scanf("%s", p);
return;
}
void main(){
char st[255];/*在程序中没有起多大作用*/
int top = 0;
char str[255];
char k;
int i=0;
int st_error=0;
getstr(str);
while ( (k=str[i]) != 0)
{
if (k == '(' ) st[top++] = k;/*top++;也一样,因为st这个栈空间没有起到存储的作用*/
if (k == ')' )
{
if (top == 0 )
{
st_error=1;
break;
}
else
top--;
}
i++;
}
if(st_error==0&&top==0) printf("匹配检查通过\n");
else
if(st_error==1) printf("缺少左括号!\n");
else
if(top>0) printf("缺少右括号!\n");
}
参考资料: http://zhidao.baidu.com/question/16705867.html
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询