伟星集团电话:int a[ ][3]={1,3,2,4,5,6,0};"中,a[2][2]的值
来源:百度文库 编辑:神马品牌网 时间:2024/07/13 17:17:20
这是什么意思呀,谁能帮我详细解释一下怎么算呀
相当于初始化数组
int a[][3]=
{1,3,2,
4,5,6,
0
}
这个初始化对于这个数组的前7个元素分别初始化为1,3,2,4,5,6,0,剩余则全部初始化为0;
这个数组是2维数组,给出第2维长度为3,那么编译器根据初始化的情况对第一维长度进行判断,给出能容纳所有初始化数值的最小长度。这里编译器应该选择a[3][3],即初始化了个3X3数组,一共9个元素。
c语言里下标都是从0开始的
a[2][2]代表第9个元素,应该等于0
各位当然不是下标越界,测试程序如下
#include<stdio.h>
int main()
{
int a[][3]={1,3,2,4,5,6,0};
printf("%d\n",a[2][2]);
printf("%u",sizeof(a)/sizeof(int));
return 0;
}
测试结果,输出:
0
9
是0 要不就是NULL
a[0][0]=1
a[0][1]=3
a[0][2]=2
a[0][3]=4
a[1][0]=5
a[1][1]=6
a[1][2]=0
a[1][3]=null
a[2][2]下标越界
与编译器有关!TC,VC下为0
a[2][2]=0.
int a[ ][3]={1,3,2,4,5,6,0};
定义一个每行三个元素但行数不确定的数组a。
初始化时决定行数。每给三个数就多一行。
最后不够三个的系统默认初始化为0。
0
unsigned int a=2;int b = -3;
int a[ ][3]={1,3,2,4,5,6,0};"中,a[2][2]的值
若有以下语句 static int a[]={0,1,2,3,4}, *p; p=&a[2];
int a=2,b=3; float x=3.5,y=2.5; (float) (a+b)/2+(int)x%(int)y怎么算?
int a=3,b=4,b=5; !(++c-1&&b+c/2)等于什么?为什么?谢谢
"int a[2][3]={1,2,3,4,5,6,7,8,9};",以下语句除了----外均能输出A[1][2]的植
假定一个二维数组的定义语句为"int a[3][4]={{3,4},{2,8,6}};"则元素a[1][2]的值是?
a=2,b=3,x=3.5,y=2.5,求(float)(a+b)/2+(int)x/(int)y的值?
int a=2,b=3,c=4;a*=10+(b++)-(++c);执行完语句后a的值是多少?
int a[2][3] 在内存中的排列