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;
}