Связанные списки - напечатаны дополнительные переменные - PullRequest
1 голос
/ 23 апреля 2020

Я хотел записать день рождения друзей в список и отобразить его. Но я получаю дополнительный вывод на мою функцию печати. Я думал, что это могут быть адреса пустого списка, но я не знаю, в чем заключается ошибка в моем коде, когда я его печатаю.

enter image description here

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;
}
...