fork download
  1. #include<stdio.h>
  2. #define SIZE 100
  3. int stack[SIZE];
  4. int sp=0;
  5.  
  6. void push(int data){
  7. printf("push> sp= %d\n",sp);
  8. if(sp>=SIZE)return;
  9. stack[sp]=data;
  10. sp++;
  11. }
  12.  
  13. int pop(void){
  14. printf("pop> sp= %d\n",sp);
  15. if(sp<=0)return-1;
  16. sp--;
  17. return stack[sp];
  18. }
  19.  
  20. void printStack(void){
  21. int i=0;
  22. printf("printStack> ");
  23. for(i=0;i<sp;i++)printf("%d ",stack[i]);
  24. printf("\n");
  25. }
  26.  
  27. int main(void){
  28. push(1);
  29. push(2);
  30. push(3);
  31. printStack();
  32. printf("%d\n",pop());
  33. printf("%d\n",pop());
  34. printf("%d\n",pop());
  35. printf("%d\n",pop());
  36. return 0;
  37. }
Success #stdin #stdout 0s 5324KB
stdin
Standard input is empty
stdout
push> sp= 0
push> sp= 1
push> sp= 2
printStack> 1 2 3 
pop> sp= 3
3
pop> sp= 2
2
pop> sp= 1
1
pop> sp= 0
-1