设有定义语句“int a[3][4]={{1},{2},{3}};"则a[1][1]的值为多少?a[2][1]的值为多少?能有详细解题步骤吗

如题所述

为数组初始化时,如果提供的初始化值少于数组元素的数量,那么对那些没有提供初始化值的元素,会自动初始化为0,所以a[1][1]的值是0。

如果这个代码int a[3][4]={{1},{2},{3}};是在所有函数之外,即数组a为全局变量,则a[1][1]=a[2][1]=0。如果是在某个函数的内部定义的,即为局部变量,则a[1][1],a[2][1],没有赋初值,也就没有值。

扩展资料:

常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。例如:

int a[3][4]; 说明了一个三行四列的数组,数组名为a,其下标变量的类型为整型。该数组的下标变量共有3×4个,即:

a[0][0],a[0][1],a[0][2],a[0][3]

a[1][0],a[1][1],a[1][2],a[1][3]

a[2][0],a[2][1],a[2][2],a[2][3]

参考资料来源:百度百科-数组

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-12-15
这是一个二维数组,a[3][4]列举出来就是
a[0][0],a[0][1],a[0][2],a[0][3]
a[1][0],a[1][1],a[1][2],a[1][3]
a[2][0],a[2][1],a[2][2],a[2][3]
a[0]代表第一行,a[1]代表第二行....
a[1][1] 代表第二行第二列的值,a[2][1]代表第三行第二列的值
从你定义数组的语句中可以看到是一个三行四列的数组,所以问的a[1][1]和a[2][1]均没有越界。
第一个大括号里面代表的是第一个一维数组,第一行的值,0,0本回答被提问者采纳
第2个回答  2011-07-07
如果这个代码int a[3][4]={{1},{2},{3}};是在所有函数之外,即数组a为全局变量,则a[1][1]=a[2][1]=0。如果是在某个函数的内部定义的,即为局部变量,则a[1][1],a[2][1],没有赋初值,也就没有值。
第3个回答  2011-07-07
为数组初始化时,如果提供的初始化值少于数组元素的数量,那么对那些没有提供初始化值的元素,会自动初始化为0,所以a[1][1]的值是0
第4个回答  2011-07-07
设定义了说明语句:static int a[2][4]={1,2,3,4,5,6,7,8},(*选C,首先二维数组a[][]包含两个一维数组a[0],a[1] 每一个数组又有4
相似回答