堆栈的基本实现

时间:2018-08-18 15:52:10

标签: c

int pop(STA* stack)
{
    if (!isEmpty(stack))
        return stack->array[stack->top--] ;
    return '$';
}

此函数中(返回“ $”)的用途是什么? 它会返回什么样的价值?

4 个答案:

答案 0 :(得分:1)

将返回ascii表(36)中的“ $”数

答案 1 :(得分:1)

它将返回36,即'$'符号的ASCII值。

答案 2 :(得分:1)

在堆栈为空的情况下,这似乎只是默认的返回值(这实际上不应该发生,调用pop()的前提应该是堆栈不为空。)

它将返回36(代码为$

答案 3 :(得分:1)

此堆栈模块的实现者决定,在一个空堆栈上,返回值将为$或整数值36。

这意味着堆栈可能/永远不会包含整数值36。如果这样,则由于堆栈为空而导致的返回值与有效值36不能区分开。

对于此堆栈模块,在尝试从堆栈中弹出之前,调用者应始终调用isEmpty()(或确保堆栈永远不会包含值36)。