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

2023-09-01

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

参考答案:A

左括号入站,右括号出栈,, 该题中括号为: ( ) ) ,所以当执行第2个右括号时,第一个左括号已经出栈了,栈为空栈