如果以链表作为栈的存储结构,在出栈操作时,则( )

如果以链表作为栈的存储结构,在出栈操作时,则( )


A、

必须判别栈是否满


B、

判别栈元素的类型


C、

必须判别栈是否空


D、

对栈不作任何判别


【正确答案】:C
【题目解析】:

出栈的实现:

 int Pop {SeqStk *stk) {

    if (EmptyStack(stk))    //判断是否下溢(栈空)
    { error(“下溢”);
        return 0;
    }
    else                              //未下溢,栈顶元素出栈
    { stk->top--;                //top值减1
        return 1;
    }
}

故出栈都必须先判断栈是否为空。选C。