这是我将元素推入堆栈并只显示第一个元素的代码。
#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。似乎存在逻辑错误。推送功能有效但窥视功能不起作用。当我试图偷看它说程序停止工作..代码有什么问题?