作业帮 > 数学 > 作业

31.若有以下定义:int x[10],*pt=x; 则对x数组元素的正确引用是( ).A) *&x[10] B) *(

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/16 00:37:43
31.若有以下定义:int x[10],*pt=x; 则对x数组元素的正确引用是( ).A) *&x[10] B) *(x+3) C) *(pt
31.若有以下定义:
int x[10],*pt=x;
则对x数组元素的正确引用是(  ).
A) *&x[10]
B) *(x+3)
C) *(pt+10)
D) pt+3
请问该选什么?
参考答案上是:
B
【解析】引用数组元素可以有两种方法,一种是使用下标值法,如x[i]表示引用数组下标为i的元素,另一种方法是使用指针引用数组元素,如*(pt+i)表示引用指针pt当前所指元素后的第i个元素.这两种方法的前提条件是所引元素的位置包含在数组范围以内,即不发生溢出,否则会出现错误.因此,本题的答案为B).
这是对的吗?
答案是对的.
再问: c选项为什么是错的?
再答: 因为超出范围了最多*(pt+9)如图:看看你*(pt+10)结果是多少?