Я хотел записать день рождения друзей в список и отобразить его. Но я получаю дополнительный вывод на мою функцию печати. Я думал, что это могут быть адреса пустого списка, но я не знаю, в чем заключается ошибка в моем коде, когда я его печатаю.
int main(int argc, char *argv[] )
{
struct Node * head = NULL;
head = (struct Node*) malloc(sizeof(struct Node));
push(&head);
push(&head);
printList(head);
free(head);
}
void printList(struct Node* read)
{
while (read != NULL) {
printf(" %d.%d %s \n", read->day, read->month, read->name);
read = read->next;
}
}
void push(struct Node** head)
{
struct Node* newNode = (struct Node*) malloc(sizeof(struct Node));
int day, month;
char name[256];
printf("Day of birth: ");
scanf("%d", &day);
newNode->day = day;
printf("Month of birth: ");
scanf("%d", &month);
newNode->month = month;
printf("Friend's name: ");
scanf("%s", &name);
strcpy(newNode->name, name);
newNode->next = (*head);
(*head) = newNode;
}