判断一个表达式的左右括号是否匹配 int IfMatch(char s[]){ int top=-1,i=0; while(s[i]){ if(s[i]=='(') top++; else if(s[i]==')'){ if(top!=-1) top--; else return 0;//右括号多,(栈空) } if(top==-1) return 1;//完全匹配 else return 0;//左括号多,(栈不空) } } 思路:将左括号依次入栈,遇见左括号栈加,右括号栈减。