C语言改错问题,求大神帮忙看下到底这Found下一行哪里有错?

我真看不出,在编译器上编译也报错[Error] cannot convert 'int [2][3]' to 'int*' in assignment

#include<stdio.h>

int main(void)
{
int a[2][3]={1, 2, 3, 4, 5, 6}, i, j;
/*********Found************/
int *p;

p = a;
for (i=0; i<2; i++)
{
for (j=0; j<3; j++)
{
printf("%3d", *(*(p + i) + j));
}
printf("\n");
}

return 0;
}

#include<stdio.h>

int main(void) {
int a[2][3] = {1,2,3,4,5,6}, i, j;
/*********Found************/
int *p;
p = a[0];//p是指针,与指针数组元素a[0],a[1]类型相同 
for (i = 0; i < 2; i++) {
for (j = 0; j < 3; j++) {
printf("%3d", *(p + i) + j);//p是Int**类型,(p + i)是int*类型,那么*(p+i)+j则为int类型 
}
printf("\n");
}
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-02-25
修改 int a[2][3]={{1, 2, 3},{ 4, 5, 6}}, i, j;
相似回答