题目
一、单选题(共40题,40.0分)题型说明:单选题共40分,每小题1分1. (单选题,1.0分) int a[5]=(1,2,3);, 则a[4]的值是()。 A. 随机值 B. 3 C. 0 D. 语法错误[1]
一、单选题(共40题,40.0分)
题型说明:单选题共40分,每小题1分
1. (单选题,1.0分)
int a[5]={1,2,3};, 则a[4]的值是()。
A. 随机值
B. 3
C. 0
D. 语法错误[1]
题目解答
答案
根据 C 语言规则,`int a[5] = {1, 2, 3};` 将数组初始化为:
- `a[0] = 1`, `a[1] = 2`, `a[2] = 3`。
- 未显式初始化的 `a[3]` 和 `a[4]` 被自动设为 0。
因此,`a[4] = 0`。
答案:C. 0
解析
本题考查C语言中数组初始化的规则。关键点在于理解当数组元素的初始值数量少于数组长度时,未被显式赋值的元素会如何处理。需要明确静态数组未初始化部分自动置零的特性,从而确定a[4]的值。
数组初始化规则
在C语言中,若静态数组(如局部或全局数组)的初始化值数量少于数组长度:
- 显式赋值的元素按顺序赋值;
- 未赋值的元素会被自动初始化为
0。
题目具体分析
- 数组
a长度为5,声明为int a[5] = {1, 2, 3};; - 前3个元素赋值为
a[0]=1,a[1]=2,a[2]=3; - 剩余元素
a[3]和a[4]未显式赋值,自动置零; - 因此,
a[4]的值为0。