可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。对于算术表达式“a*(b+c))-d”,由于________________,因此可判断

admin2020-05-13  23

问题 可利用一个栈来检查表达式中的括号是否匹配,其方法是:初始时设置栈为空,然后从左到右扫描表达式,遇到左括号“(”就将其入栈,遇到右括号“)”就执行出栈操作,忽略其他符号。对于算术表达式“a*(b+c))-d”,由于________________,因此可判断出该表达式中的括号不匹配。

选项 A、需要进行出栈操作但栈已空
B、需要进行入栈操作但栈已满
C、表达式处理已结束,但栈中仍留有字符“(”
D、表达式处理已结束,但栈中仍留有字符“)”

答案A

解析 本题考查数据结构基础知识。根据题中的叙述,检查表达式“a*(b+c))-d”时,由于少一个左括号,所以遇到第二个右括号时栈顶没有与其相匹配的左括号,所以对应的操作为“需要进行出栈操作但栈已空”。
转载请注明原文地址:https://kaotiyun.com/show/dmPZ777K
0

相关试题推荐
最新回复(0)