设有定义语句“int a[]={2 4 6 8 10} *p=s;” 则值为8的表达式是()A.*p+3B.*p+4C.*(p+4)D.*(s+3)
表达式,语句,定义
已帮助 人
设有定义语句“int a[]={2, 4,6,8,10},*p=s;”,则值为8的表达式是()
A.*p+3
B.*p+4
C.*(p+4)
D.*(s+3)
请帮忙给出正确答案和分析,谢谢!
-
正确答案:D
分析四个备选答案,可以看出是用指针法来引用数组a的元素。当指针变量p已经指向数组。的首地址后(正如本题那样),*(p+i)和*(s+i)都是数组元素a[i]。对于备选答案A:*p就是数组元素。a[0],其值为2,再加3结果为5,不符合题意。同样道理,备选答案B中的*p十4的值为6,也不符合题意。对于备选答案C:*(p+4)代表数组元素a[4],其值为10,也不符合题意。显然本题答案应选D。因为*(s+3)就是数组元素s[3],其值为8。
