如题所述
数组定义的时候必须定义长度:
int i=30;
int array[i];
这是不行的。
为什么呢?是因为数组定义的时候要开辟内存空间,
数组名其实就是那一段元素存储的初始地址。
而数组中的元素可以是未知的,
你开始定义好一个
char array[30]={"fengzhifengxinzi"};
这不就是开始的时候array数组中的元素未知,
你之后再修改就是了。
例子很多,自己编程试试吧。
int i=30;
int array[i];
这是不行的。
为什么呢?是因为数组定义的时候要开辟内存空间,
数组名其实就是那一段元素存储的初始地址。
而数组中的元素可以是未知的,
你开始定义好一个
char array[30]={"fengzhifengxinzi"};
这不就是开始的时候array数组中的元素未知,
你之后再修改就是了。
例子很多,自己编程试试吧。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-06-18
数组都是必须定义维数的。 你可以动态分配。重定义数组。未知数组会造成数组越界。
第2个回答 2011-06-20
#include<stdio.h>
main()
{int a[10],i,j;
for(i=0;i<10;i++)
j=i;a[i]=1;
while(j)
printf("1!+2!+....10!=%d\n",a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]);
}
main()
{int a[10],i,j;
for(i=0;i<10;i++)
j=i;a[i]=1;
while(j)
printf("1!+2!+....10!=%d\n",a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]);
}