|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
void main()
{
int a[3][3]={0,1,2,3,4,5,6,7,8};
int (*p)[3];
int f(int(*p)[3]);
int i,j;
p=a;
f((*p)[3]);
}
int f(int(*p)[3])
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d\t",*(*(p+i)+j));
}
}
}
如果把int f(int(*p)[3])的内容放到main程序里,运行就没有问题,可我这个函数错在哪里了?而且连调试都无法继续了。
同样的代码,
#include <stdio.h>
void main()
{
int a[3][3]={0,1,2,3,4,5,6,7,8};
int (*p)[3];
int f(int(*p)[3]);
int i,j;
p=a;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d\t",*(*(p+i)+j));
}
}
}
这样运行是正常输出了二维数组的值。 |
|