若有: int a[][3] = {{0},{1},{2}}; 则 a[1][2] 的值是?

int a[ ][3]={{0},{1},{2}};a[1][2]\u7684\u503c

0int\u7c7b\u578b\u9ed8\u8ba4\u4e3a0\uff0c\u8be5\u521d\u59cb\u5316\u76f8\u5f53\u4e8eint a[][3] = {{0,0,0},{1,0,0},{2,0,0}}
\u6216
int a[ ][3]={{0},{1},{2}};
\u7b2c\u4e8c\u7ef4\u53c2\u6570\u4e3a3\uff0c\u4f46\u8d4b\u503c\u7684\u65f6\u5019\u4e09\u4e2a\u90fd\u662f\u53ea\u6709\u4e00\u4e2a\u6574\u6570\uff0c\u53e6\u5916\u4e24\u4e2a\u9ed8\u8ba4\u586b\u51450
\u7b49\u540c\u4e8eint a[3][3]={{0,0,0},{1,0,0},{2,0,0}};
\u6240\u4ee5a[1][2] = 0;

\u6269\u5c55\u8d44\u6599\uff1a
\u7c7b\u578b\u8bf4\u660e\u7b26\u6570\u7ec4\u540d[\u5e38\u91cf\u8868\u8fbe\u5f0f1][\u5e38\u91cf\u8868\u8fbe\u5f0f2]\u2026\uff1b
\u5176\u4e2d\u5e38\u91cf\u8868\u8fbe\u5f0f1\u8868\u793a\u7b2c\u4e00\u7ef4\u4e0b\u6807\u7684\u957f\u5ea6\uff0c\u5e38\u91cf\u8868\u8fbe\u5f0f2 \u8868\u793a\u7b2c\u4e8c\u7ef4\u4e0b\u6807\u7684\u957f\u5ea6\u3002\u4f8b\u5982\uff1a
int a[3][4]; \u8bf4\u660e\u4e86\u4e00\u4e2a\u4e09\u884c\u56db\u5217\u7684\u6570\u7ec4\uff0c\u6570\u7ec4\u540d\u4e3aa\uff0c\u5176\u4e0b\u6807\u53d8\u91cf\u7684\u7c7b\u578b\u4e3a\u6574\u578b\u3002\u8be5\u6570\u7ec4\u7684\u4e0b\u6807\u53d8\u91cf\u5171\u67093\u00d74\u4e2a\uff0c\u5373\uff1a
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]
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-\u6570\u7ec4

2 \u8fd9\u662f\u4e00\u4e2a\u4e8c\u7ef4\u6570\u7ec4\uff0ca[2][3]\u4e2d\u76842\u4e3a\u6570\u7ec4\u7684\u884c\u6570\uff0c3\u4e3a\u5217\u6570int a[2][3]={{1},{2,3}};,\u76f8\u5f53\u4e8e
1 0 0
2 3 0
\u7531\u4e8e\u6570\u7ec4\u4e2d\u4e0b\u6807\u662f\u4ece0\u5f00\u59cb\u7684\uff0c\u6240\u4ee5a[1][0]\u8868\u793a\u6570\u7ec4\u4e2d\u76842\uff081+1\uff09\u884c\uff0c\u7b2c1\uff080+1\uff09\u5217\u76842.\u3002

0

int类型默认为0,该初始化相当于int a[][3] = {{0,0,0},{1,0,0},{2,0,0}}

这是一个二维数组,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

扩展资料:

二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。例如对数组a[5][3]:

按行分段赋值可写为static int a[5][3]={{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};

按行连续赋值可写为static int a[5][3]={{80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 }};

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



a[1][2]你没定义,是个随机值,你定义的是a[0][3]

数组越界报错,输出看看就知道了

扩展阅读:int a[3][4] ... 若有说明int a 3 ... 若有定义int a 3 b 2 ... int a[10] ... 若有定义int a 8 b 5 c ... int a[5] ... 若有定义和语句int a 3 3 ... 若有定义int p 3 ... 若已定义int a下面对1 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网