数组和指针一道练习题(2015.12.9)
复习到这种题目,之前看过,还是忘了,描述如下:
main()
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf("%d,%d",*(a+1),*(ptr-1));
}
输出为:2,5
请解释以上代码的输出结果。
答案如下:
*(a+1)其实很简单就是指a[1],输出为2.
问题关键就在于第二个点,*(ptr-1)输出
转载
2015-12-09 23:34:32 ·
299 阅读 ·
0 评论