C语言 若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用是BA)*&x[20] B)*(x+3) C)*(pt+20) D)pt+3 都错在哪了?一个一

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 20:10:24
C语言 若有以下定义      int x[20],*pt=x;则对x数组元素的正确应用若有以下定义      int x[20],*pt=x;则对x数组元素的正确应用是BA)*&x[20]    B)*(x+3)    C)*(pt+20)     D)pt+3  都错在哪了?一个一

C语言 若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用是BA)*&x[20] B)*(x+3) C)*(pt+20) D)pt+3 都错在哪了?一个一
C语言 若有以下定义      int x[20],*pt=x;则对x数组元素的正确应用
若有以下定义      int x[20],*pt=x;则对x数组元素的正确应用是B
A)*&x[20]    B)*(x+3)    C)*(pt+20)     D)pt+3  
都错在哪了?一个一个解释下

C语言 若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用若有以下定义 int x[20],*pt=x;则对x数组元素的正确应用是BA)*&x[20] B)*(x+3) C)*(pt+20) D)pt+3 都错在哪了?一个一
int x[20]里面有二十个元素为x[0]道x[19],
a ,里面的&x[20]这首先就错了,没有x[20]这个元素.越界了!
b,x为数组x[20]的首地址,首地址向后移动3个位置,在取值,正确!
c,pt为指向x[20]的首地址的int型的指针,+20就指向了x[20]这个元素,而x[20]不存在.
所以错误.
d,pt为指向x[20]的首地址的int型的指针,pt+3为一个指针,不是指针指向的值!也错了.