Использование пустого указателя на массив

Я просто пытался использовать пустой указатель на целочисленный массив, я пытался посмотреть, смогу ли я напечатать массив обратно, приведя его обратно в int. Но это дает мне какое-то случайное значение. Можете ли вы сказать мне, где я иду не так?

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

int main(){
    int a[5];
    int x;
    int j;

    a[0]=1;
    a[1]=2;
    a[2]=3;
    a[3]=4;

    void *arr=a;

    for(j=0;j<4;j++){
        x = *(int *)(arr+j);
        printf("%d",x);
    }
    return 0;
}

Вывод такой:

133554432131072512

Почему это не pinting элементы массива a [], т.е. 1,2,3,4?

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

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