大家看看,在(高级)或程序员教材上,这段程序是不是有错误?
在高级程序员的教材 P392,第8行起,
或 程序员的教材的 P318,第7行起,
if(type==Rp){ //将栈中‘(’退去
do if(l_pop(&dop,&optop))
synError(); //栈空出错
while((char)dop!=Lp); //连续退至‘(’
}else
l_push((double)type,&optop); //栈外运算符进栈
其中的do while 语句是连续退至‘(’,我觉得不太对。
如果连续退至‘(’,那么在 左括号 到 右括号 中的运算符不是还没有处理?
如果结合整个程序看,之后的else 语句,是什么运算符进栈??
我的水平很低,是不是我理解错了?请大家指教!!