(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

Dipost 1 tahun yang lalu

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban