我只是试图使用指向整数数组的 void 指针,我试图通过将其转换回 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
为什么它不固定数组 a[] 的元素,即 1,2,3,4 ?