int zft[]={0,1,2,3};当我调用zft[6]的时候应该是什么呢?
C中的数组在编译中是用指针来实现的,zft[6]就是*(zft+6),而这个地方你没有赋初值,当然是系统随机分配的数咯,不过关于系统的随机分配当然各个编译器有不同的规定,这个就不说了,当你定义一个a[]后,对a[i]的引用和对i[a]是一样的
#include<stdio.h>
main()
{
int a[10];
int i;
for(i=0;i<10;i++)
a[i]=i+1;
printf("a[i]表示:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\ni[a]表示:\n");
for(i=0;i<10;i++)
printf("%d ",i[a]);
printf("\n");
}
//由此可见,在编译中数组的表现形式是指针