Errores importantes hay varios, primero declaras un array con 100 elementos y a continuación limitas el uso de estos a solo 10. En su lugar utiliza las macros como dios manda, define una y utilizala en todo el programa para indicar el numero de elementos en la pila:
Código
#define NUM_ELEM 100 /* ... */ int pila[NUM_ELEM]; /* etc */
En cuanto a las dos operaciones básicas en una pila estas son push y pop con un indicador de posición con un valor inicial a cero. Ese es el problema en tu programa.
La operación push debería ser:
1) Agregar el elemento
2) Incrementar el contador
La operación pop debería ser:
1) Decrementas el contador
2) Sacas el elemento
Al hacerlo así el contador de posición indicara en todo momento el numero de elementos en la pila.
Un saludo