新手求助,一个输入行数列数,打印出二位数组中对应元素的程序
这个程序如果用指针的话,我写的是这个#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a={(1,2,3,4),(5,6,7,8),(9,10,11,12)};
int (*p);
int i,j,k;
p=&a
printf("该程序用于查询坐标的值\n");
printf("若想查询(i,j)的值,请分别输入i-1,j-1\n");
do{
printf("请输入正确的i-1的值\n");
scanf("%d",&i);
}while(i!=0&&i!=1&&i!=2);
do{
printf("请输入正确的j-1的值\n");
scanf("%d",&j);
}while(j!=0&&j!=1&&j!=2&&j!=3);
p=(*p+i)+j;
k=**p;
i=i++;j=j++;
printf("第%d行,第%d列的数据为%d\n",i,j,k);
system("pause");
return 0;
}
可以运行起来但查询的结果全是错的,而且有很多是0,求助是那个地方有问题 而且这里为什么k=**p要取两次地址?感觉一个*就可以了,但运行出来是内存地址
页:
[1]