作业9 (2023-05-05 数组的定义和初始化)
第1题/共11题【单选题】
关于一维数组初始化,下面哪个定义是错误的?( )
A.int arr[10] = {1,2,3,4,5,6};
B.int arr[] = {1,2,3,4,5,6};
C.int arr[] = (1,2,3,4,5,6);
D.int arr[10] = {0};
A:正确,10个int的一段连续空间,前6个位置被初始化为1,2,3,4,5,6,其他位置为0
B:正确,数组中有6个空间,并被初始化为1,2,3,4,5,6
C:错误,数组的初始化不能使用(),只能使用{}
D:正确,10个int类型的一段连续空间,每个位置都被初始化为0
因此,选择C
第2题/共11题【单选题】
以下能对二维数组a进行正确初始化的语句是:( )
A.int a[2][]={ {0,1,2},{3,4,5}};
B.int a[][3]={ {0,1,2},{3,4,5}};
C.int a[2][4]={ {0,1,2},{3,4},{5}}; //做题时,我对这个选项有疑惑
D.int a[][3]={ {0,,2},{},{3,4,5}};
答案解析:回答正确
对于二维数组int array[M][N], 说明如下:
1. M和N都必须为常数,
2. M代表数组有M行,N代表每行中有N个元素
3. 其中M可以省略,省略后必须给出初始化表达式,编译器从初始化结果中推断数组有多少行
4. N一定不能省略,因为N省略了就不能确定一行有多少个元素,也不能确定数组有多少行
A:错误,参数上述说明
B:正确,参考上述说明
C:错误,数组有两行,但是初始化给了三行
D:错误,初始化不允许{0,,2}该种情况存在
因此,选择B
第3题/共11题【单选题】
定义了一维 int 型数组 a[10] 后,下面错误的引用是:( )
A.