以下数组定义中错误的是()
A. int x[2][3]={1,2,3,4,5,6};
B. int x[][3]={0};
C. int x[][3]={{1,2,3},{4,5,6}};
D. int x[2][3]={{1,2},{3,4},{5,6}};
选D,但是不明白ABC对在哪里
A答案中的int x[2][3]代表的是两行三列的二维数组,但是右边{1,2,3,4,5,6};却不是这个格式为什么也是对的呢?如何理解呢?
A答案中的int x[2][3]代表的是两行三列的二维数组,但是右边{1,2,3,4,5,6};却不是这个格式为什么也是对的呢?初始化又是什么意思啊?
追答虽然“不是这个格式”,但是给定了全部6个元素的值,也是可以的。它会自动填满第一行,再第二行,……。
所谓“初始化”,就是给变量一个开始使用前确定的数值。在这里是声明变量的同时给它们确定的值。
...int x[][3]={{1,2,3},{4,5,6}};如何理解其中的[]?
(1)int x[][3]={{1,2,3},{4,5,6}}:这个等号右边是2行3列的int类型的数据 (2)等号左边的x[][3]代表的是:行数未知,列数是3的二维数组,由于赋值操作,于是可以得出行数是2。(3)所以x[][3]是一个2行3列的一个二维数组,即:x[2][3]。
int x[3][3]={1,2,3,4,5,6,7,8,9};是什么意思
x[2][2]。所以是将1,2,3,4,5,6,7,8,9赋值给x[0][0],x[0][1],x[0][2],x[1][0],x[1][1],x[1][2],x[2][0],x[2][1],x[2][2]这九个元素。
c语言 struct sk{ int x; int y; }s[3]={1,2,3,4,5,6}
s[3]是数组,每个数组元素都由两个变量x,y组成,所以整个数组是连续的六个内存单元,因此3这个数被存在第二个数组元素的x成员变量中。
int x[3][3]={1,2,3,4,5,6,7,8,9},i; 输出结果是? for(i=0;i<3;i...
for(i=0;i<3;i++)printf("%d",x[i][2-1]); 会输出 2 5 8 但我怀疑你写错了,可能2-1应该是2-i, 即:for(i=0;i<3;i++)printf("%d",x[i][2-i]);那么它会输出:3 5 7
...i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则语
选C i=0时 输出x[0][2]: 3 i=1时 输出x[1][1]: 5 i=2时 输出x[2][0]: 7 答案就是C 3 5 7
53. 设有定义 : int a[] [3]={{1,2,3},{4,5,6},{7,8,9}};
53.虽然第一维没有写,但是从后面的赋值可以得出是3 1 2 3 4 5 6 7 8 9 a[1][2]是第2行的第3个 (注意i、j都是从0开始算的),是6,选C 54.由已知得数组:1 2 3 4 5 6 7 8 x[1][1]是第2行的第2个 (注意i、j都是从0开始算的),是6,选A ...
int x[3][2]={0}为什么是将0赋给x[0][1]而不是赋给x[0][0]呢?
这里你是把0赋值给整个数组了,也就是说,每个数组元素都是0
为什么int x[4][]={{1,2,3},{1,2,3,},{1,2,3,},{1,2,3,}};是错误的定...
错的,下面才是对的 int x[][3]={{1,2,3},{1,2,3,},{1,2,3,},{1,2,3,}};编译器知道本来就知道大{},有几个小括号,所以行数就知道了,但是列数不知道,你那样肯定很报错的。
在执行int a [][3]={1,2,3,4,5,6};语句后,a[1][1]的值是
type arrayName [ x ][ y ];int a[3][4]; 说明了一个行数不明确,有三列的二维数组,数组名为a,其下标变量的类型为整型。在c中二维数组是按行排列, 即放完一行之后顺次放入第二行。int a [][3]={1,2,3,4,5,6}初始化该数组,该数组的下标变量共有2*3个,即:a[0][0],a[...
设有定义语句“int a[][3]={{0},{1},{2}};"则a[1][2]的值为多少?能有...
2],a[2][3]a[0]代表第一行,a[1]代表第二行...a[1][1] 代表第二行第二列的值,a[2][1]代表第三行第二列的值 从你定义数组的语句中可以看到是一个三行四列的数组,所以问的a[1][1]和a[2][1]均没有越界。第一个大括号里面代表的是第一个一维数组,第一行的值,0,0 ...