hola TriN.
bueno tu error es qu eno asignabas suficiente memoria por eso te salia ese error nosepor que la asignaste asi pero yo trato de asignar la memoria completa la que se piensa usar o tambien lo podias haber escho pidiendo que cantidadde memria se queria asignar alomejor asi ya no ibas a tener problemas y bueno espero que aun te sirva la respuesta aqui te dejo el codigo.
Código C:
Ver original#include <stdio.h>
#include <stdlib.h>
int main()
{
int *lista, i, r, x;
lista = NULL;
i=0;
r = 0;
x = 0;
lista
= (int *) malloc( sizeof(int) ); if (lista == NULL)
printf("error al reservar memoria\n");
printf("\nElemento %d de la lista enlazada",i
+1);
puts("Desea agregar otro elemento");
while(r == 1)
{
i++;
r = 0;
lista
= (int*) realloc(lista
,20 *sizeof(int));
if (lista == NULL )
printf("no se puedo asignar memoria");
printf("Elemento %d de la lista enlazada\n",i
+1);
puts("Desea agregar otro elemento\n");
}
for(x=0;x<i+1;x++)
{
}
return 0;
}
espero que te sirva saludos drewermerc.