求助 c语言 指针 二维数组问题
#include<stdio.h>void main()
{
int n,x,y,a={0,1,2,3,4,5,6,7,8,9,10,11};
int (*p);
p=a;
printf("please input x , y :\n");
scanf("%d %d",&x,&y);
printf("%d\n",*((*p+x)+y));
}
代码如上,为何第0行可以正常输出,第1 2行还是输出第0行的值 什么??第0行?? 本帖最后由 claws0n 于 2018-8-13 18:32 编辑
#include<stdio.h>
void main()
{
int n, x, y;
int a={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};
int (*p);
p=a;
printf("please input x , y :\n"); // x, y 是坐标吧?
scanf("%d %d", &x, &y);
printf("%d\n", *(*(p+x)+y) ); // 错误
}
可以加入适当的空格吗?看了会晕{:5_99:} 不好意思~就是 xy是坐标, x==0时可以正常输出,x ==1 或x==2都不能正常输出。 没问题, 确认下你的输入格式是不是正确。
麻烦问一下楼上是直接复制代码吗 为啥我这里还是不行。。都是英文啊 本帖最后由 claws0n 于 2018-8-13 19:47 编辑
ahr123 发表于 2018-8-13 18:58
麻烦问一下楼上是直接复制代码吗 为啥我这里还是不行。。都是英文啊
楼主,您的错误,我指示出来,也改过来了。复制贴上就好
另外,您输入的时候可以空格,但不可写逗号,因为scanf里没有逗号 感谢楼上 刚才自己没看到,原来是*位置错了,再次感谢!
页:
[1]