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

admin2021-01-13  22

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

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

答案A

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

最新回复(0)