表达式3*2^(4+2*2-6*3)-5求值过程中当扫描到6时,对象栈和算符栈为( ),其中^为乘幂 。
时间: 2023-05-29 17:01:16 浏览: 148
对象栈:3, 2
算符栈:^
扫描到42时,将42压入对象栈,得到:
对象栈:3, 2, 42
算符栈:^
扫描到乘号时,将^弹出,将乘号压入算符栈,得到:
对象栈:3, 2, 42
算符栈:*
扫描到2时,将2压入对象栈,得到:
对象栈:3, 2, 42, 2
算符栈:*
扫描到减号时,将*弹出,将减号压入算符栈,得到:
对象栈:3, 2, 42, 2
算符栈:-
扫描到6时,将6压入对象栈,得到:
对象栈:3, 2, 42, 2, 6
算符栈:-
扫描到乘号时,先将上一个带括号的表达式计算出来,得到(注意乘号是优先级最高的):
对象栈:3, 2, 42, 8
算符栈:-
再将乘号压入算符栈,得到:
对象栈:3, 2, 42, 8
算符栈:*
扫描到3时,将3压入对象栈,得到:
对象栈:3, 2, 42, 8, 3
算符栈:*
最后扫描到5时,将5压入对象栈,得到:
对象栈:3, 2, 42, 8, 3, 5
算符栈:*
此时算符栈为空,算式计算完成。
阅读全文