作业帮 > 综合 > 作业

#include int main() { int a[3][4]={1,3,5,7,9,11,13,15,17,19,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/30 09:17:18
#include int main() { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int (*p)[4],i,j; p=a;
#include
int main()
{
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
int (*p)[4],i,j;
p=a;
scanf("%d,%d",&i,&j);
printf("a[%d,%d]=%d\n",i,j,*(*(p+i)+j));
return 0;
}
要输出任意一行一列的元素,有错怎么改啊?
好着啊,我这里运行一切正常.你那里什么错误?
再问: 哦对,要是把int (*p)[4],i,j;改为int*p,i,j,就会有错,为什么啊
再答: 如果用int *p的话,不能直接指向a,a是个2维数组类型(可看成int **a, 但不等价),它的地址和p类型不符。 但可以做如下修改 p=a[0] // 两者类型匹配 printf("a[%d,%d]=%d\n",i,j,*(p+i*4+j));