试题题干
main()
{ int a[]={1,2,3,4,5,6};
int *p;
int i;
p=a;
*(p+3)+=1;
printf("%d,%d\n",*p,*(p+3));
}
参考答案
试题解析
p=a;是指针p指向数组a,即指针变量p存放的是数组a的首地址,即输出*p的值为1,*(p+3)+=1等价于*(p+3)=*(p+3)+1,*(p+3)等价于a[3],即*(p+3)=4+1,故输出*(p+3)的值为5。
main()
{ int a[]={1,2,3,4,5,6};
int *p;
int i;
p=a;
*(p+3)+=1;
printf("%d,%d\n",*p,*(p+3));
}
p=a;是指针p指向数组a,即指针变量p存放的是数组a的首地址,即输出*p的值为1,*(p+3)+=1等价于*(p+3)=*(p+3)+1,*(p+3)等价于a[3],即*(p+3)=4+1,故输出*(p+3)的值为5。