Como recorrer una lista y mostrar en C

[Cerrado]
Denunciar
-
 suriak -
Hola,
Mi cuestion es la siguiente
void ImprimirElementosLista (tLlista *a){
printf ("Tenemos estos elementos");
while (a->primero != NULL){
printf ("%s",a->primero->elemento);
a->primero = a->primero->siguiente;
}
}

Este es mi algoritmo para imprimir todos los elementos de una lista, y lo hace, pero al acabar el bucle da un error de widowns, alguien me podria ayudar o mostrarme un programa k imprima todos los elementos de una lista?

Muchas gracias

4 respuestas

Mira lo que puedes hacer es lo siguiente:

void ImprimirElementosLista (tLlista *a)
{
tLlista *aux = a;
int i = 0;
while (aux != NULL)
{
printf("\nelemento de la lista %d: %d\n", i++,aux->dato);
aux->siguiente;
}
if (aux == NULL)
printf("\n\nSe ha llegado al final de la lista\n\n");
}
18
Gracias

Unas palabras de agradecimiento nunca están de más. Deja tu comentario

CCM 12872 usuarios nos han dicho gracias este mes

Este esta comprendible gracias....!
void mostrar(void) {

if(ini==NULL){

printf("La lista esta vacia\n");
system("pause");
}else{

nodo=ini;

while(nodo){

printf("[%s]-->",nodo->var);

nodo=nodo->siguiente;

}

}

Yo hice ese metodo para mostrar la lista completa :)
Message postés
2227
Date d'inscription
viernes, 4 de abril de 2008
Estatus
Miembro
Última intervención
sábado, 1 de noviembre de 2008
1.546
Hola
Y podrias probar con Dreamware.Avisamen cualquier cosa

saludos
void mostrar(struct lista *p){
if(inicio!=NULL){
while(p!=NULL){
pf(" %d ", p->num);
p=p->sig;
}
pf("\n\n");
}
else{
pf("Lista Vacia");
}
}
agregale eso para que no se te caiga cuando la lista llegue al final