一个C语言的小题目,指针数组方面的,程序很短。 5
#include<stdio.h>main(){inti,p[3][3]={1,2,3,4,5,6,7,8,9},*p1[3],(*p2)[3];for(i=0;i<3;...
#include<stdio.h>
main()
{
int i,p[3][3]={1,2,3,4,5,6,7,8,9},*p1[3],(*p2)[3];
for(i=0;i<3;i++) p1[i]=&p[i];
p2=p;
for(i=1;i<3;i++)
printf("\n%d,%d",*(*(p1+i)+1)+1,*(*++p2+1)+1);
}
输出第一行是:6,6 第二行是:9,9
我不明白第二行的第二个9是怎么得到的的。求大神解释一下。 展开
main()
{
int i,p[3][3]={1,2,3,4,5,6,7,8,9},*p1[3],(*p2)[3];
for(i=0;i<3;i++) p1[i]=&p[i];
p2=p;
for(i=1;i<3;i++)
printf("\n%d,%d",*(*(p1+i)+1)+1,*(*++p2+1)+1);
}
输出第一行是:6,6 第二行是:9,9
我不明白第二行的第二个9是怎么得到的的。求大神解释一下。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询