有如下说明: int a[10] ={1,2,3,4,5,6,7,8,9,10},* p=a; 则数值为9的表达式是

admin2013-05-30  29

问题 有如下说明:   
int a[10] ={1,2,3,4,5,6,7,8,9,10},* p=a;   
则数值为9的表达式是

选项 A、*p+9
B、* (p+8)
C、* p+=9
D、p+8

答案B

解析 按照C++语言的数组元素的引用方法,如数组元素a[0] ,可以用表达式 * (p+0) ,即
* p来引用,对于数组元素a[1] ,可以用表达式 * (p+ 1) 来引用,在这里,p+1的值就是数组元素a[1] 的地址,对此地址使用“间接访问运算符”:* (p+1) 就代表存储单元a[1] ,注意一对圆括号不可少。同样,对于数组元素a[2] ,则可以用表达式 * (p+2) 来引用…,对于数组元素a[9] ,可以用表达式 * (p+9) 来引用。因此,当指针变量p指向a数组的起始地址时,若0≤i< 10,则数组元素a 可以用表达式 * (p+i) 来引用。
转载请注明原文地址:https://jikaoti.com/ti/oJE0FFFM
0

最新回复(0)