按照四则运算优先关系的惯例,画出下列算术表达式求值时操作数栈和运算符栈的变化过程:3+5*7-4
问题描述:
按照四则运算优先关系的惯例,画出下列算术表达式求值时操作数栈和运算符栈的变化过程:3+5*7-4
答
定义:运算符栈S,操作数栈C
读3+,+压入栈S,3压入栈C;
读5*7,*压入栈S,5压入栈C,7压入栈C;
读-,*运算顺序高于+-,取栈C中的7和5,取栈S中的*,计算5*7=35,35压入栈C,-压入栈S;
读4,压入栈C,读取完;
取栈C中的4和35,取栈S中的-,计算35-4=31,取栈C中的3,取栈S中的+,计算3+31=34