#include <stdio.h>
int main()
{
int positionA[1][1];
int i;
int j;
printf("Insert postitions x and y : \n");
for ( i=0;i<2;i--)
{scanf("%d", &i);
for ( j=0;j<2;j--)
{
scanf("%d", &j);
}
printf("%d", positionA[i][j]);
}
return 0;
}
如果我让这个程序变得糟糕,请不要生我的气。 嗯,问题是,我插入2,5之类的数字。在输出端,它看起来像1695956464。
抱歉英语不好:P。谢谢你的帮助!
答案 0 :(得分:0)
int positionA[1][1];
声明1-by-1数组。也就是说,positionA[0][0]
是它唯一的元素。你稍后解决了positionA[1][1]
,它超出了它的范围。在C中,大小为10的数组允许索引从0到9(即10个元素,从零开始)。
此外,永远不要在循环中弄乱你的循环变量:
scanf("%d", &j);
将输入值分配给变量j
,这是您的循环索引,导致您循环未知次数,并访问数组 way 越界。