单选题
1、第10题 (1.0分) 题号:646 若有说明 int a[3][4];则a数组元素的非法引用是()。
A
a[0][2*1]
B
a[1][3]
C
a[4-2][0]
D
a[0][4]
答案解析
正确答案:D
解析:
**解析:**
在 C 语言中,数组下标是从 0 开始的。对于声明为 `int a[3][4];` 的二维数组:
- 第一维(行)的大小为 3,合法的下标范围是 `0` 到 `2`(即 `a[0]`, `a[1]`, `a[2]`)。
- 第二维(列)的大小为 4,合法的下标范围是 `0` 到 `3`(即 `a[i][0]`, `a[i][1]`, `a[i][2]`, `a[i][3]`)。
我们逐一分析各个选项:
* **A. `a[0][2*1]`**
* 行下标为 `0`,在 `0~2` 范围内,合法。
* 列下标为 `2*1 = 2`,在 `0~3` 范围内,合法。
* 因此,该引用是合法的。
* **B. `a[1][3]`**
* 行下标为 `1`,在 `0~2` 范围内,合法。
* 列下标为 `3`,在 `0~3` 范围内,合法。
* 因此,该引用是合法的。
* **C. `a[4-2][0]`**
* 行下标为 `4-2 = 2`,在 `0~2` 范围内,合法。
* 列下标为 `0`,在 `0~3` 范围内,合法。
* 因此,该引用是合法的。
* **D. `a[0][4]`**
* 行下标为 `0`,在 `0~2` 范围内,合法。
* 列下标为 `4`。由于列的最大合法下标是 `3`(因为大小为 4),下标 `4` 超出了数组边界。
* 因此,该引用是**非法**的,会导致数组越界访问。
综上所述,非法的引用是 D。
**答案:D**
题目纠错
c语言选择判断题库
相关题目
单选题
1、第249题 (1.0分) 题号:172 在C语言程序中()。
单选题
1、第248题 (1.0分) 题号:682 sizeof( )是()。
单选题
1、第247题 (1.0分) 题号:182 执行下面程序后,输出结果是()。
单选题
1、第246题 (1.0分) 题号:718 系统的标准输入文件是指()。
单选题
1、第245题 (1.0分) 题号:621 printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式()。
单选题
1、第244题 (1.0分) 题号:205 变量p为指针变量,若p=&a,下列说法不正确的是()。
单选题
1、第243题 (1.0分) 题号:638 设有数组定义: char array [ ]=“China”; 则数组 array所占的 空间为()。
单选题
1、第242题 (1.0分) 题号:89 以下标识符中,不能作为合法的C用户定义标识符的是()。
单选题
1、第241题 (1.0分) 题号:194 若有下列定义,则对a数组元素地址的正确引用是()。 int a[5],*p=a;
单选题
1、第240题 (1.0分) 题号:198 设有以下语句, 若0
