À l'aide de nulle pointeur vers un tableau

J'essayais juste d'utiliser un vide pointeur vers un tableau d'entiers ,j'ai essayé de voir si je peux imprimer le tableau en le jetant en arrière dans int. Mais il me donne quelque valeur aléatoire. Pouvez-vous me dire où je vais mal?

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

Sortie est ceci:

133554432131072512

Pourquoi n'est-il pas pinting éléments du tableau a[] j'.e 1,2,3,4 ?

Vous pouvez améliorer le rendement en mettant un retour à la ligne dans la chaîne de format qui imprime les numéros: printf("%d\n", x);.
Yupp.Je n'étais pas à se concentrer sur la mise en forme parce que j'ai écrit cela pour m'aider à tester cette fonctionnalité pour un autre programme.

OriginalL'auteur Anusha Pachunuri | 2012-01-11