题目
单选题(共10题,20.0分)题型说明:单选题10. (2.0分) 执行语句“int arr[5]=(1,2,3);”后,arr[4]的值是:A 0B 3C 随机值D 语法错误[1]
单选题(共10题,20.0分)
题型说明:单选题
10. (2.0分) 执行语句“int arr[5]={1,2,3};”后,arr[4]的值是:
A 0
B 3
C 随机值
D 语法错误[1]
题目解答
答案
根据C语言规则,`int arr[5] = {1, 2, 3};`中,`arr[0]`至`arr[2]`分别初始化为1、2、3,而`arr[3]`和`arr[4]`未显式初始化,会被默认赋值为0。因此,`arr[4] = 0`。
- A. 0:正确。
- B. 3:`arr[2] = 3`,非`arr[4]`,错误。
- C. 随机值:不符合C语言标准,错误。
- D. 语法错误:代码合法,错误。
答案:A. 0
解析
本题考查C语言中数组初始化的知识点。解题思路是依据C语言对于数组初始化的规则来确定未显式初始化元素的值。
在C语言里,当定义一个数组并进行部分初始化时,也就是只对数组的前几个元素赋值,而没有对后面的元素赋值,那么后面未被显式初始化的元素会被自动初始化为0。
对于语句“int arr[5]={1,2,3};”,这里定义了一个包含5个整数元素的数组arr,并且对前3个元素进行了初始化,即arr[0]被初始化为1,arr[1]被初始化为2,arr[2]被初始化为3。而arr[3]和arr[4]没有被显式初始化,按照C语言的规则,它们会被默认赋值为0。所以arr[4]的值是0。
选项A:0,符合上述分析,是正确的。
选项B:3,arr[2]的值是3,并非arr[4]的值,所以该选项错误。
选项C:随机值,在C语言标准中,未显式初始化的数组元素会被初始化为0,并非随机值,所以该选项错误。
选项D:语法错误,“int arr[5]={1,2,3};”是合法的C语言代码,不存在语法错误,所以该选项错误。