定义数组 int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}} int x[][3]
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/03/29 15:21:24
定义数组 int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}} int x[][3]={1,2,3,4}
前者为什么是错的,后者为什么是对的?
我觉得对于后者 1,2,3,4后面可以跟很多省略掉的0,那么数组的第一维度就无法确定了,而对于前者1,2,3后面也可以省略掉很多0,那么第二维度也无法确定了.
前者为什么是错的,后者为什么是对的?
我觉得对于后者 1,2,3,4后面可以跟很多省略掉的0,那么数组的第一维度就无法确定了,而对于前者1,2,3后面也可以省略掉很多0,那么第二维度也无法确定了.
你的理解有一半是对的,有一半是错的.对的就是你明确了两个数组都是不确定的,错的就是你误以为0可以有无限个.
你要知道第一维度和第二维度都代表什么.前面代表数组有几行,后面代表每行有几个元素.
如果int [][3] = {1,2,3}那么系统知道了每行有几个,就可以确定数组为a[1][3];
如果int [][3] = {1,2,3,4};那么系统就确定数组为a[2][3]= {1,2,3,4,0,0};0的个数就可以被确定了.
但是如果是int [4][]={1,2,3}那么系统就不知道每行有几个,就没法确定有几个0了.
你可以试试直接定义a[]={1,2,3};是可以的.相当于a[3];
你要知道第一维度和第二维度都代表什么.前面代表数组有几行,后面代表每行有几个元素.
如果int [][3] = {1,2,3}那么系统知道了每行有几个,就可以确定数组为a[1][3];
如果int [][3] = {1,2,3,4};那么系统就确定数组为a[2][3]= {1,2,3,4,0,0};0的个数就可以被确定了.
但是如果是int [4][]={1,2,3}那么系统就不知道每行有几个,就没法确定有几个0了.
你可以试试直接定义a[]={1,2,3};是可以的.相当于a[3];
下列数组定义错误的是 A.int x=5,a[x]; B.int aa[1]; C.int aa[2][3]; D.in
若有以下定义:int x[4][3];int(*p)[3]=x; 则能够正确表示数组元素x[2][1]的表达式是( ).
定义一个二维数组:int x[][4]={{1},{2},{3}};那么元素x[1][1]的值为?
#include void main(){int k1=1;int k2=2;int k3=3;int x=15;if(
定义一个整型数组,int a[]={1,2,3,4,5}求数组元素之和并输出
33.以下正确的数组定义语句是().A)int y[1][4]={1,2,3,4,5}; B)float x[3][]=
以下数组定义中错误的是()A int x[][3]={0 };B intx [2][3]={{1,23,4,5,6};
C语言若有定义int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;则数组不为3的表达式是( )
12.已有定义int x[3][2],以下能正确引用数组元素的选项是( ) a.x[2][2] b.x[1][2] c.
Struct Struct st {int x;int *y;}*pt; Int a[]={1,2},b[]={3,4}
已有定义int x[3][2],以下能正确引用数组元素的选项是( ) 选择一个答案 a. x[2][2] b. x[1]
定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果