Я создал программу простого связанного списка и в это время, пока я печатаю значения в связанном списке, они входят в бесконечный цикл. Я присоединяю этот код. Я сделал temp1 для цели обхода. 'a' для хранения адреса головного узла. 'temp' для создания нового узла.При печати статуса списка ссылок программа входит в цикл infinte
// Creating a menu deriv en program of single link list
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct node{
int data;
struct node *next;
};
void main()
{
struct node *a;
char ch;
struct node *temp;
struct node *temp1;
a=NULL;
clrscr();
do
{
if(a==NULL)
{
temp=(struct node*)malloc(sizeof(struct node));
printf("Enter Data");
scanf("%d",&temp->data);
temp->next=NULL;
a=temp;
}
else
{
temp=(struct node*)malloc(sizeof(struct node));
printf("Enter data element");
scanf("%d",&temp->data);
temp1=a;
while(temp1->next!=NULL)
{
temp1=temp1->next;
}
temp1->next=temp;
}
printf("Do You Wish to continue");
ch=getch();
}
while(ch=='Y'||ch=='y');
printf("Status of the link list");
temp1=a;
while(temp1!=NULL)
{
printf("%d ",temp1->data);
temp1->next=temp1;
}
getch();
}
Пожалуйста, помогите !!!
, возможно, будет изменен 'temp1-> next = temp1;' с 'temp1 = temp1-> next;' решит эту проблему. Кроме того, вы должны освободить выделенную память. –
А также else-block need 'temp-> next = NULL;' – BLUEPIXY
@Bob__Where я должен внести изменения, которые вы предложили – user6547375