Я занимаюсь написанием связанного списка, который будет принимать цифры от пользователя в порядке возрастания и рассказать вам, какие уникальные номера вы использовали. Я продолжаю получать ошибку сегментации после того, как она указывает на мою функцию findUnique и мой цикл while, который я настроил для распечатки списка, прежде чем он войдет, не печатает ничего. Это просто практика со связанным списком, поэтому любая помощь будет оценена по достоинству.Ошибка сегментации связанного списка
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct number{
int num;
struct number* next;
}Number;
Number *addterm(Number*, int);
void findUnique(Number*);
int main(void){
Number *Number_List = NULL;
int digit = 1;
printf("Enter numbers in ascending order(enter 0 to stop): ");
scanf("%d", &digit);
while(digit != 0){
addterm(Number_List, digit);
printf("Enter numbers in ascending order(enter 0 to stop): ");
scanf("%d", &digit);
}
printf("\ntest 1\n");
Number *ptr = Number_List;
while(ptr){
printf("%d ", ptr -> num);
Number_List = ptr -> next;
}
printf("\ntest 2\n");
printf("\n");
findUnique(Number_List);
return 0;
}
Number *addterm(Number* list, int userIn){
Number *newNum = (Number *) malloc (sizeof (Number));
newNum->num = userIn;
newNum->next = list;
if(list == NULL){
return newNum;
}
Number *ptr = list;
while(ptr->next != NULL){
ptr = ptr->next;
}
ptr->next = newNum;
return list;
}
void findUnique(Number* list){
int print, temp;
print = list->num;
temp = print;
printf("The unique numbers you entered are %d", temp);
while(list){
print = list->num;
if(print == temp){
continue;
}
else{
temp = print;
printf(" %d", temp);
}
list = list -> next;
}
return;
}
Добро пожаловать в переполнение стека! Похоже, вам, возможно, потребуется научиться использовать отладчик для выполнения вашего кода. С хорошим отладчиком вы можете выполнить свою программу по очереди и посмотреть, где она отклоняется от ожидаемого. Это важный инструмент, если вы собираетесь заниматься программированием. Дальнейшее чтение: [Как отлаживать небольшие программы] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/). –