Я пытаюсь вставить данные из текстового файла в связанный список, данные содержат
ID-name
12345678-abcdefgh
Но я не знаю, почему идентификатор всегда печатает странные числа, и я не могу кажется, найти какие-либо ошибки в моем коде. У кого-нибудь есть идеи, что заставляет ID печатать случайные числа, например:
-1069759088
#include<stdio.h>
#include<stdbool.h>
#include<string.h>
#include<stdlib.h>
struct mhs{
int nim;
char name[1000];
struct mhs *next;
};
int main(){
struct mhs *head, *node, *curr;
struct mhs *hashT[1000];
int nim;
char name[100];
int i, size = 0;
int choice;
head = curr = NULL;
node = (struct mhs *)malloc(sizeof(struct mhs));
FILE *fp;
fp = fopen("datamhs.txt", "r");
if(fp != NULL){
while(fscanf(fp, "%d-%[^\n]", &nim, name) != EOF){
fflush(stdin);
strcpy(node->name, name);
node -> nim = nim;
printf("%d\n", node->nim);
printf("%s\n", node->name);
system("pause");
node -> next = NULL;
if(head == NULL){
head = node;
} else {
curr = head;
while(curr -> next != NULL){
curr = curr -> next;
}
curr -> next = node;
}
size++;
}
} else {
printf("Error, no file to read\n");
}
Кстати, вывод программы составляет
-1069759088
abcdefgh