在以下程序中,我得到输出 1 0 0 2130567168 11 2686668 7 2686916
而根据我的说法,输出必须是 1 2 3 4 5 6 7 8
因为数组元素存储在连续的内存位置,我以连续的方式访问这些元素。
#include<stdio.h>
#include<stdlib.h>
int *fun3();
int main(){
int j, k;
int *q = fun3();
for(j = 0; j < 8; j++){
printf("%d\t", *(q+j));
}
}
int *fun3(){
int a[] = {1,2,3,4,5,6,7,8};
return a;
}
请提出我的代码或推理中的任何问题。为什么我会出现这种异常行为?