C语言实现利用栈来完成下列表达式的求值: 3+3*(9-2*3)/3*(8-2*4)-9 要求:给出栈中数据的完整变化过程
时间: 2024-05-29 14:11:05 浏览: 124
用栈的应用编一个表达式求值的程序(c语言)
栈中数据变化过程如下:
1. 将3入栈
栈:3
2. 将3入栈
栈:3 3
3. 将9入栈
栈:3 3 9
4. 将2入栈
栈:3 3 9 2
5. 将3乘2再减去结果,即计算9-2*3=3,将3入栈
栈:3 3 3
6. 将3出栈
栈:3 3
7. 将3乘3,即计算3*3=9,将9入栈
栈:3 9
8. 将8入栈
栈:3 9 8
9. 将2入栈
栈:3 9 8 2
10. 将4乘2再减去结果,即计算8-2*4=0,将0入栈
栈:3 9 0
11. 将3出栈,将0出栈
栈:3 9
12. 将9乘3,即计算9*3=27,将27入栈
栈:3 27
13. 将3出栈
栈:27
14. 将27出栈
栈:空
15. 将-9入栈
栈:-9
最终结果为-9。
阅读全文