关于数组的一点疑问?
我在程序中设置了一个数组!int zft[]={0,1,2,3};当我调用zft[6]的时候应该是什么呢? 搜索更多相关的解决方案:
疑问
----------------解决方案--------------------------------------------------------
是0吧~....
----------------解决方案--------------------------------------------------------
有可能是随机数字,有可能程序崩溃。
----------------解决方案--------------------------------------------------------
LZ钻牛角尖
----------------解决方案--------------------------------------------------------
printf("%d",zft[6]);
----------------解决方案--------------------------------------------------------
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");
}
//由此可见,在编译中数组的表现形式是指针
----------------解决方案--------------------------------------------------------
000000000000000000
----------------解决方案--------------------------------------------------------