题目
执行如下语句后int a [10] = ( 1 , 2 , 3 , 4 , 5 );a[9]=a[8]+1;则 a[9]的值是1。A.对B.错
执行如下语句后int a [10] = { 1 , 2 , 3 , 4 , 5 };
a[9]=a[8]+1;则 a[9]的值是1。
A.对
B.错
题目解答
答案
根据题目中的语句 "int a[10] = {1, 2, 3, 4, 5};",数组a被初始化为 {1, 2, 3, 4, 5, 0, 0, 0, 0, 0},其中前五个元素分别为1、2、3、4、5,后面五个元素被自动初始化为0,因为数组大小为10。
接着,执行 "a[9] = a[8] + 1;",将数组a的第9个元素的值设置为a的第8个元素的值加1。由于数组a的第8个元素是0(因为没有显式初始化),所以a[9]的值将变为0 + 1 = 1。
因此,执行完语句后,a[9]的值将变为1。故题目说法正确。故选A。
解析
步骤 1:数组初始化
数组a被初始化为 {1, 2, 3, 4, 5, 0, 0, 0, 0, 0},其中前五个元素分别为1、2、3、4、5,后面五个元素被自动初始化为0,因为数组大小为10。
步骤 2:数组元素赋值
执行 "a[9] = a[8] + 1;",将数组a的第9个元素的值设置为a的第8个元素的值加1。由于数组a的第8个元素是0(因为没有显式初始化),所以a[9]的值将变为0 + 1 = 1。
步骤 3:判断
执行完语句后,a[9]的值将变为1。故题目说法正确。
数组a被初始化为 {1, 2, 3, 4, 5, 0, 0, 0, 0, 0},其中前五个元素分别为1、2、3、4、5,后面五个元素被自动初始化为0,因为数组大小为10。
步骤 2:数组元素赋值
执行 "a[9] = a[8] + 1;",将数组a的第9个元素的值设置为a的第8个元素的值加1。由于数组a的第8个元素是0(因为没有显式初始化),所以a[9]的值将变为0 + 1 = 1。
步骤 3:判断
执行完语句后,a[9]的值将变为1。故题目说法正确。