使用switch来进行运算符优先级判定的问题
int priority( char x, char y ) /*a栈顶 b当前*/{
/*0:x>y 1:x<y 2:x=y*/
switch( x )
{
case '+':{
switch( y )
{
case '+':return 0;break;
case '-':return 0;break;
case '*':return 1;break;
case '/':return 1;break;
case '(':return 1;break;
case ')':return 0;break;
case '#':return 0;break;
};
};break;
case '-':{
switch( y )
{
case '+':return 0;break;
case '-':return 0;break;
case '*':return 1;break;
case '/':return 1;break;
case '(':return 1;break;
case ')':return 0;break;
case '#':return 0;break;
};
};break;
case '*':{
switch( y )
{
case '+':return 0;break;
case '-':return 0;break;
case '*':return 0;break;
case '/':return 0;break;
case '(':return 1;break;
case ')':return 0;break;
case '#':return 0;break;
};
};break;
case '/':{
switch( y )
{
case '+':return 0;break;
case '-':return 0;break;
case '*':return 0;break;
case '/':return 0;break;
case '(':return 1;break;
case ')':return 0;break;
case '#':return 0;break;
};
};break;
case '(':{
switch( y )
{
case '+':return 1;break;
case '-':return 1;break;
case '*':return 1;break;
case '/':return 1;break;
case '(':return 1;break;
case ')':return 2;break;
};
};break;
case ')':{
switch( y )
{
case '+':return 0;break;
case '-':return 0;break;
case '*':return 0;break;
case '/':return 0;break;
case ')':return 0;break;
case '#':return 0;break;
};
};break;
case '#':{
switch( y )
{
case '+':return 1;break;
case '-':return 1;break;
case '*':return 1;break;
case '/':return 1;break;
case '(':return 1;break;
case '#':return 2;break;
};
};break;
default:exit(0);break;
}
}
代码如上 目前所有的语句全部警告为“不能到达的代码”
请问是什么原因导致如此
[此贴子已经被作者于2007-3-31 19:54:29编辑过]