下列4个选项中,哪个结果为6? int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a; (A) *p + 6; (B) *(p+6); (C) *p += 5; (D) p+5; 答: A B 求解释

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/26 17:01:58
下列4个选项中,哪个结果为6?inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;(A)*p+6;(B)*(

下列4个选项中,哪个结果为6? int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a; (A) *p + 6; (B) *(p+6); (C) *p += 5; (D) p+5; 答: A B 求解释
下列4个选项中,哪个结果为6? int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a; (A) *p + 6; (B) *(p+6); (C) *p += 5; (D) p+5; 答: A B 求解释

下列4个选项中,哪个结果为6? int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a;int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, *p = a; (A) *p + 6; (B) *(p+6); (C) *p += 5; (D) p+5; 答: A B 求解释
这个是指针指向的问题.*p=a,是定义个p指针,指向了数组a.那么p指向的也可以看成是指向a[0],对于答案B很好理解了,p+6指向的实际也就是a[6],再用*取值,答案就是6.对于A,则很简单啊,*p+6也就是先取p的值,再对这个值+6.p指向a[0],a[0]值是0,再0+6结果当然也是6了