這是其中括號匹配的函式部分:
voidmatch(SeqStackS,char*str)//括號的比較
{
inti;
charch;
for(i=0;str[i]!=‘\0’;i++)
{
switch(str[i])
{
case‘(’:
case‘[’:
case‘{’:
Push(&S,str[i]);
break;
case‘)’:
case‘]’:
case‘}’:
if(GetTop(&S)==‘#’)
{
printf(“\n-_-!!!右括號多餘!\n”);
exit(0);
}
else
{
ch=GetTop(&S);
if(Compare(ch,str[i]))
Pop(&S);
else
{
printf(“\n-_-!!!對應的左右括號不同類!\n”);
exit(0);
}
}
}
}
if(GetTop(&S)==‘#’)
printf(“\n^_^括號匹配!^_^\n”);
else
{
printf(“\n-_-!!!左括號多餘!\n”);
exit(0);
}
}