有关二维数组指针的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/24 14:29:32
#include<stdio.h>
main()
{
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int **p;

for(p=a;p<a+3;p++)
printf("%d",**p);

}
我这个程序有什么问题啊?为什么编译出现错误的?
这个程序有问题?但不知道错在哪里?
希望能重新帮我编下程序。

main()
{ int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p,i,j;
for(i=0;i<3;i++)
{ for(j=0;j<4;j++)
printf("%d\t",*(*(p+i)+j));
printf("\n");
}
getch();
}
这样就行了。。

你要干什么?

你在定义整型数组的时候形式不恰当,你的程序的意思应该是输出数组a全部的数吧,整型数组和字符串数组不一样的,你在定义
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 时用

用指针数组来试试应该就可以了

二级指针可以当作一个二维数组名来使用,但二维数组名不能当二级指针来使用,二维数组名相当与一个指针数组名,二级指针和指针数组这两个显然类型不相同怎么可以相互赋值呢