(bahasa C)terkadang saya dpt "BUS ERROR" terkadang "SEGMENTATION FAULT" pad linked list

saya sedang belajar membaut single linked list , tapi sudah seminggu saya belajar tpi tdk berjalan sesuia harapan, padahal sy sudah mengikuit sesuai pada tutorial, tapi dengan sedikti modifikasi.Tolong cek kode sy, bagaimna cata membuat function unutk membuat node lalu menampilkannya.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct Book
{
    char *title;
    char *author;
    int year;

    // pointer next
    struct Book *next;
} myBook;

myBook *head = NULL;

myBook *current;

void createBook(myBook *head,char *t,char *a,int y){
    // buat space baru
    myBook *newBook;
    newBook = NULL;
    newBook = (myBook*) malloc(sizeof(myBook));
    strcpy(newBook->title,t);
    strcpy(newBook->author,a);
    newBook->year = y;

    if (head == NULL){
        head = newBook;
        head->next = NULL;
    }else{
        while (head != NULL)
            head=head->next;
        head = newBook;
        newBook->next = NULL;
    }
}

void printBook(){
    current = head;
    while (current != NULL){
        printf("Judul   : %s\n",current->title);
        printf("Penulis : %s\n",current->author);
        printf("Tahun   : %d\n",current->year);

        current = current->next;
    }

}

int main()
{
    char *judul, *penulis;
    int tahun;

    printf("Masukkan Judul   : ");scanf("%s",judul);
    printf("Masukkan Penulis : ");scanf("%s",penulis);
    printf("Masukkan Tahun   : ");scanf("%d",&tahun);

    createBook(head,judul,penulis,tahun);
    printBook();
    return 0;
    
}
avatar fyz08

@fyz08

1 Kontribusi 0 Poin


Jawaban

Belum ada Jawaban, jadi yang pertama

Login untuk gabung berdiskusi