帮我看看 这个算法有错误吗?谢谢
status bracketmatch test(char *str)
{
intistack(s);
for(p=str;*p;p++)
{if(*p='{'||*p='['||*p='(')
push(s,*p)
else if(*p=')'||*p=']'||*p='}')
{
if(stackempty(s))return error;
pop(s,c);
if(*p=')'&& c!='(')return error;
if(*p=']'&& c!='[')return error;
if(*p='}'&& c!='{')return error;
}
if(!stackempty(s))return error;
}
return ok;
}