Односвязный список, ошибка вывода - C (СИ)

Узнай цену своей работы

Формулировка задачи:

не пойму почему не работает вывод? пишет ошибку,якобы я залезаю в недопустимую часть памяти, условие temp != NULL не выполняется, помогите исправить.
#include "stdafx.h"
#include "conio.h"
#include "string"
 
typedef struct Node{
    int elem;
    struct Node *next;
}list;
void print_list(list *head)
{
    list *temp = head;
    while (temp != NULL)
    {
        printf("%d ",temp->elem);
        temp = temp->next;
 
    }
}
int main()
{
    setlocale(LC_ALL,"Rus");
    list *head = NULL, *news = NULL;
    head = (list*)malloc(sizeof(list));
    news = head;
    int kol = 0;
    printf("ВВедите колличество элементов в списке: ");
    scanf("%d",&kol);
    printf("ВВедите значение: ");
    scanf("%d",&(head->elem));
    for (int i = 0; i < kol - 1; i++)
    {
        news->next = (list*)malloc(sizeof(list));
        printf("ВВедите значение: ");
        scanf("%d",&(news->next->elem));
        news = news->next;
    }
    print_list(head);
    _getch();
    return 0;
}
код сишный, среда с++

Решение задачи: «Односвязный список, ошибка вывода»

textual
Листинг программы
void print_list(list *head)
{
    list *temp = head;
    while (temp != NULL)
    {
        printf("%d ",temp->elem);
        temp = temp->next;
 
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5
Похожие ответы