C语言一道问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 00:23:25
*(a+1) 是1行0列元素那 *(a-2)是什么
顺便帮我把这个题分析下 最好步骤详细点
# include<stdio.h>
main()
{int a[2][2]={{1,2},{5,7},*p,i;
p=&a[0][0];
for(i=0;i<2;i++)
*p++=i+1;
printf("%d",*(p-2));
}

# include<stdio.h>

main()
{
int a[2][2]={{1,2},{5,7}},*p,i;
p=&a[0][0];
for(i=0;i<2;i++) /*此处for循环完事后,p指向的是a[1][0]*/
*p++=i+1;
printf("%d",*(p-2)); /*(*(p-2)),是在p指向a[1][0]的基础上退2个地址,指向a[0][0]*/
}
希望对你有帮助!

*(a-2)应该是列的坐标