//栈的数组实现
//数组从1开始,栈S在S[]处存放栈顶位置
#include <iostream>
#include <cstring>
#define N 1000
using namespace std;
int STACK_EMPTY(int S[])
{
if(S[0]==0) return true;
else return false;
}
void PUSH(int S[],int x)
{
S[0]++;
S[S[0]]=x;
}
int POP(int S[])
{
if(S[0]==0)
{
cout << "underflow" <<endl;
return 0;
}
else
{
S[0]--;
return S[S[0]+1];
}
}
int main(int argc, char *argv[])
{
int S[N];
memset(S,0,sizeof(S));
PUSH(S,10);
PUSH(S,20);
int test=POP(S);
cout << test << endl;
cout << "Hello World!" << endl;
return 0;
}