Code:#include<stdio.h> #include<conio.h> #include<stdlib.h> typedef struct node { char *str; node *next; node *prev; }; node *head = NULL; node *tail = NULL; void traverse(); void process(char *a); void main() { char a[10]; int index; int count=4; for(index=0;index<count;index++) { printf("\nEnter char%d: ",index+1); scanf("%s",a); process(a); } traverse(); } void process(char *a) { node *tempN = (node*)malloc(sizeof(node)); node *temp = (node*)malloc(sizeof(node)); temp=head; if(temp==NULL) { tempN->str=a; tempN->next=NULL; tempN->prev=NULL; head=tempN; tail=head; } if(temp!=NULL) { temp=tail; tempN->str=a; tempN->next=NULL; tempN->prev=temp; temp->next=tempN; tail=tempN; } } void traverse() { node *temp; temp=head; while(temp != NULL) { printf("%s\n",temp->str); temp=temp->next; } }