Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/02/2013, 12:13
frank_87_12
 
Fecha de Ingreso: febrero-2013
Mensajes: 3
Antigüedad: 11 años, 3 meses
Puntos: 0
Problema con programita en C

Hola, tengo que hacer un tda pila con una lista simplemente enlazada y cuando ejecuto este tester :
int main()
{
tPila p;
crearpilanueva(&p);
apilar(1,&p);
apilar(2,&p);
apilar(5,&p);
mostrarPila(p);


return 0;
}

me funciona bien pero si mando algun prinf en el medio o cualquier cosa me deja de andar y no entiendo porque :S

aca les dejo parte del tdapila


typedef struct Pila{
int elem;
struct Pila* next;
}*tPila;


crearpilanueva(tPila* p) {
*p= (tPila) malloc(sizeof(struct Pila));
(*p)->next=NULL;
(*p)->elem=NULL;
}

int estavacia(tPila P) {
int res=0;
if (P->elem==NULL) {
res=1;
}
return res;
}

void apilar (int a, tPila* p){
tPila* nueva;
crearpilanueva(nueva);
(*nueva)->elem= a;
(*nueva)->next= (*p);
(*p)=(*nueva);
}

void mostrarPila(tPila p) {
tPila aux=p;
while (aux->elem!=NULL) {
printf(" el elemento es :%i \n", aux->elem);
aux= aux->next;
}
}