Односвязный список, ошибка вывода - 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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д