您的位置:首页 > 其它

字符串处理——()的匹配问题

2012-09-22 20:33 706 查看
判断字符串中‘(’与‘)’是否匹配,匹配返回1,不匹配返回0

#include <iostream>
#include <string.h>

using namespace std;

bool Check(char *str)
{
int len=strlen(str);
int tag=0;
for (int i=0;i<len;i++)
{
//判断'('
if (tag==0)
{
if (str[i]=='(')
{
tag=1;
continue;//一定要加,字符判断完毕,结束本次循环
}
if (str[i]==')')
{
return false;
}
}
//判断')'
if (tag==1)
{
if (str[i]==')')
{
tag=0;
continue;
}
if (str[i]=='(')
{
return false;
}
}
}
if (tag==0)
{
return true;
}
if (tag==1)
{
return false;
}
}

int main()
{
char str[]="()ab(cd)efgh";
bool dd=Check(str);
cout<<dd<<endl;

return 0;
}


需要特别注意的是两个continue,判断完后结束该次循环。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: