数组在C中实现堆栈

时间:2017-11-17 17:46:46

标签: stack

这是我将元素推入堆栈并只显示第一个元素的代码。

 #include<stdio.h>
#include<stdlib.h>
typedef struct Stack
{
    int top;
    int a[10];
}stack;
void push(int b,stack *s)
{
  s->top=(s->top)+1;
  s->a[s->top]=b;
}
       void peep(stack *s)
   {

    printf(s->a[s->top]);

}
void main()
{
    stack st;
    st.top=-1;
    int c,d;
    while(1){
    printf("enter choice 1.New 2.Print");
    scanf("%d",&c);
       switch(c)
       {
       case 1:printf("enter the number");
       scanf("%d",&d);
       push(d,&st);
        break;
       case 2:peep(&st);
        break;
       }
    }
}

我正在使用Codeblocks。似乎存在逻辑错误。推送功能有效但窥视功能不起作用。当我试图偷看它说程序停止工作..代码有什么问题?

0 个答案:

没有答案