#include
using namespace std;
void trim(const char exp[],int& lo,int& hi)
{
while ((lo<=hi)&&(exp[lo]!='(')&&(exp[lo]!=')'))lo++;
while ((lo<=hi)&&(exp[hi]!='(')&&(exp[hi]!=')'))hi--;
}
int divide (const char exp[],int lo, int hi)
{
int mi=lo;
int crc=1;
while ((0<crc)&&(++mi<hi))
{
if(exp[mi]==')') crc--;
if(exp[mi]=='(') crc++;
}
return mi;
}
bool paren(const char exp[],int lo,int hi)
{
trim(exp,lo,hi);
if(lo>hi) return ture;
if(exp[lo]!='(') return false;
if(exp[hi]!=')') return false;
int mi=divide(exp,lo,hi);
if(mi>hi) return false;
return paren(exp,lo+1,mi-1)&&paren(exp,mi+1,hi);
}
错误显示“ture”没有被声明,怎么更改???我是新手,求指点,谢谢!!