弹出功能不在堆栈中工作

时间:2015-03-23 16:07:31

标签: c data-structures stack

我正在尝试执行pop功能,但我的pop功能无效。

我运行pop然后显示它只打印0

typedef struct Stack
{
  int top;
  int elements[20];
}
stack;
stack s;
void pop()
{
  s.top--;
}


 void show() 
 { 
    while(s.top>=0)
    { 
      printf("%d\n",s.elements[s.top]); 
      s.top--; 
    }
 } 

2 个答案:

答案 0 :(得分:1)

功能

void pop()

具有void返回类型。因此,它不会返回一个对象供您打印。

答案 1 :(得分:0)

pop功能应该是

int pop()
{
    if(s.top == -1)  // -1 is delimiter for stack to be empty 
    {
         printf("Stack is empty\n");
         return -1;
    }
    return s.elements[s.top--];
}