#include struct rn { int dice; struct rn *next; }; typedef struct rn item; int main() { item *cur, *prev, *t, *last; prev=NULL; int i; for (i=0; i<10; i++){ printf("%d\n",i); cur=malloc(sizeof(item)); cur->dice=i; cur->next=prev; prev=cur; } last = cur; while(cur) { printf("!%d\n",cur->dice); if ((cur->dice)%2) { t=cur->next; cur=t->next; free(t);} else { cur=cur->next; } } cur=last; while(cur) { printf("!!!%d\n",cur->dice); cur=cur->next; } }