Я показал здесь, блок, включающий объявление структуры (вне основной функции) и функцию append () для добавления элемента. Поэтому, отображая элементы, я получаю еще около 7 номеров, я не знаю, адрес это или что-то в этом роде. Спасибо за помощь!
struct node
{
int data;
struct node* next;
};
void append(struct node** head_add,int p)
{
struct node* new_node=(struct node *)malloc(sizeof(struct node));
struct node* ptr=(*head_add);
new_node->data=p;
new_node->next=NULL;
if (*head_add == NULL)
{
*head_add = new_node;
return;
}
while(ptr->next!=NULL)
ptr=ptr->next;
ptr->next=new_node;
}
Примечание: вот функция display (), которую я использовал:
void display(struct node *head)
{
while(head->next!=NULL)
{
printf("%d",head->data);
head=head->next;
}
}
Edit:
int main()
{
struct node *head=(struct node *)malloc(sizeof(struct node));
head->next=NULL;
, тогда есть другие вещи ,,
, а затем вот вызов в середине if-else:
else if(y==3)
{
printf("Enter the value to be added\n");
scanf("%d",&p);
append(&head,p);
}