帮我看看 这个算法有错误吗?谢谢
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;
}



											
	    

	
											

