用栈检测括号匹配
这是其中括号匹配的函数部分:
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);
}
}
c语言括号的含义
括号的使用,一方面是要保证运算的优先级,另一方面有时也是为了提供更好的阅读性,让人更容易理解表达式的含义和运算顺序。
例如:中括号为数组标识。
C语言支持定义一系列相同连续的变量空间,其定义形式为type name[N];代表定义个数为N,每个元素类型均为type型的数组变量name。int a[100]就是定义一个元素个数为100个的整型数组a。

