rust吃的怎么获得:int a[ ][3]={1,3,2,4,5,6,0};"中,a[2][2]的值

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/11 16:28:48
这是什么意思呀,谁能帮我详细解释一下怎么算呀

相当于初始化数组
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