0001 0002 #include "nest.h" 0003 0004 /****************************************************************************************** 0005 * 检查表达式括号是否匹配 0006 ******************************************************************************************/ 0007 int main ( int argc, char* argv[] ) { 0008 // 检查参数 0009 if ( 2 > argc ) { //至少要提供一个待检查的字符串 0010 fprintf ( stderr, "\nUsage: %s <string#1> <string#2> ... \n", argv[0] ); 0011 fprintf ( stderr, "For example %s (a[i-1][j+1])+a[i+1][j-1])*2\n", argv[0] ); 0012 return -1; 0013 } 0014 // 逐一检查各串是否匹配 0015 for ( int i = 1; i < argc; i++ ) { 0016 char* s = argv[i]; printf ( "\n检查:%s\n", s ); 0017 paren ( s, 0, strlen ( s ) - 1 ) ? 0018 printf ( "\n%s: 匹配\a\n", s ) : 0019 printf ( "\n%s: 不匹配\a\a\n", s ); 0020 getchar(); 0021 } 0022 return 0; 0023 }