Я кодировал для стека, используя массивы, но какой бы элемент я не помещал в стек, элемент отображается как ноль
Ребята, я новичок в этом вопросе, поэтому, пожалуйста, используйте меньше технических вопросов. Я также приложил скриншот полученной информации. Как видно на изображении, отображаемый элемент стека равен 0, а я ввел 10
#include<stdio.h>
#include<conio.h>
#include<process.h>
#define STACK_SIZE 5
int top;
int s[5];
int item;
//for push()
void push()
{
if(top==STACK_SIZE-1)
{
printf("\n stack is full, cant insert");
return;
}
top=top+1;
s[top]=item;
printf("stck element is %d",item);
}
//pop()
int pop()
{
if(top==-1)
{
return -1;
}
return s[top--];
}
//for display()
void display()
{
int i;
if(top==-1)
{
printf("\n stack is empty");
return;
}
printf("\n Contents of stack is\n");
for(i=0;i<=top;i++){
printf("%d",s[i]);}
}
void main()
{
int item;
int item_deleted;
int choice;
top=-1;
clrscr();
for(;;)
{
printf("\n 1.Push 2.Pop 3.Display 4.exit");
scanf("%d",&choice);
switch(choice)
{
case 1: printf("\n enter item to be inserted");
scanf("%d",&item);
push();
break;
case 2: item_deleted=pop();
if(item_deleted==-1)
printf("\n stack is empty");
else
printf("\n item deleted=%d",item_deleted);
break;
case 3: display();
break;
case 4: exit(0);
default: exit(0);
}
}
}
Я попытался отладить код, но ничего не работает.