Моя программа заменяет все строковые типы данных во всех узлах в связанном списке

У меня есть программа, которая в основном добавляет историю (узел) в employee_record (связанный список).

Вот мой код:

#include <stdio.h>
#include <stdlib.h>

struct history{
       char *department1;
       char *title1;
       int day;
       int month;
       int year;
       struct history *next;
};

struct employee_record{
char firstname[20];
char lastname[20];
long int employee_id;
char sex;
int age;
struct history *head;
};

void addjob(struct employee_record *rec,
char *department, char *title,
int day, int month, int year);

void print(struct employee_record *rec);

int main(int argc, char *argv[])
{
  struct employee_record *worker=(struct employee_record*)malloc(sizeof(struct employee_record));
  worker->head=NULL;
  int c,d,e;
  printf("Department\tTitle\tDay\tMonth\tYear\n");
  while (1){
  char a[10]=" ";
  char b[10]=" ";
  scanf("%s %s %d %d %d",a,b,&c,&d,&e);
  addjob(worker,a,b,c,d,e);
  printf("Department\tTitle\tDay\tMonth\tYear\n");
  print(worker);
  }
  return 0;
}

void addjob(struct employee_record *rec,
char *department, char *title,
int day, int month, int year){
    struct history *new=(struct history*)malloc(sizeof(struct history));
    struct employee_record *temp;
    new->day=day;
    new->department1=department;
    new->month=month;
    new->year=year;
    new->title1=title;
    if (rec->head != NULL)
        new->next=rec->head;
    else {
        new->next=NULL;
    }
    rec->head=new;
}

void print(struct employee_record *rec){
    struct history *temp;
        temp=rec->head;
        printf("%s\t%s\t%d\t%d\t%d",temp->department1,temp->title1,temp->day,temp->month,temp->year);
        while(temp->next!=NULL){
            printf("\n");
            temp=temp->next;
            printf("%s\t%s\t%d\t%d\t%d",temp->department1,temp->title1,temp->day,temp->month,temp->year);
            }
        printf("\n");

}

Однако, когда я ввожу вторую запись, заменяется элемент отдела и заголовок предыдущего узла истории, а не день, месяц и год, как показано ниже.

Почему это так?

Ответы на вопрос(1)

Ваш ответ на вопрос