char Precede(char s1,char s2) {//判断两个运算符s1,s2的优先顺序, //若s1优先则返回>,若s2优先则返回<,若s1,s2相同则返回= char f; switch(s2) { case '+': case '-': if(s1==')'||s1=='#'||s1=='(') f='<'; else f='>'; break; case '*': case '/': if(s1=='*'||s1=='/'||s1==')') f='>'; else f='<'; break; case '(': if(s1==')') { printf("ERROR 1 !"); exit(ERROR); } else f='<'; break; case ')': if(s1=='#') { printf("ERROR 2 !"); exit(ERROR); } else { if(s1=='(') f='='; else f='>'; } break; case '#': if(s1=='(') { printf("ERROR 3 !"); exit(ERROR); } else { if(s1=='#') f='='; else f='>'; } break; default : printf("ERROR 4 !"); exit(ERROR); } return f; }