通信,电信,互联网技术论坛
发新话题
打印

二维数组的初始化 C/C++不少的呀,看看

二维数组的初始化 C/C++不少的呀,看看

 二维数组初始化也是在类型说明时给各下标变量赋以初值。 二维数组可按行分段赋值,也可按行连续赋值。 例如对数组a[5][3]:
1.按行分段赋值可写为static int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };
2.按行连续赋值可写为static int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 };

  这两种赋初值的结果是完全相同的。
void main()
{
int i,j,s=0,l,v[3];
static int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},
{85,87,90},{76,77,85} };
for(i=0;i<3;i++)
{ for(j=0;j<5;j++)
s=s+a[j];
v=s/5;
s=0;
}
l=(v[0]+v[1]+v[2])/3;
printf("math:%d\nc languag:%d\ndbase:%d\n",v[0],v[1],v[2]);
printf("total:%d\n",l);
}

  对于二维数组初始化赋值还有以下说明:
1.可以只对部分元素赋初值,未赋初值的元素自动取0值。
例如: static int a[3][3]={,,}; 是对每一行的第一列元素赋值,未赋值的元素取0值。 赋值后各元素的值为: 1 0 02 0 03 0 0
static int a [3][3]={{0,1},{0,0,2},}; 赋值后的元素值为 0 1 00 0 23 0 0

TOP

发新话题