#include<stdio.h>
int main()
{
int i,j;
int a[10][11];
for(i=0;i<10;i++)
for(j=0;j<11;j++)
scanf("%d",&a[i][j]);
for(i=0;i<10;i++)
{
int safe = 0;
printf("a[10][%d] = %d\n",i,a[i][-3]); /// 여기
if(a[i][10] == 1)
{
safe = 1;
printf("%d exist \n",i+1);
for(j=10;j>=0;j++)
{
if(a[i][j] != 0)
{
printf("%d died\n",i+1);
if(a[i][j] > 0)
printf("%d crash\n",i+1);
if(a[i][j] < 0)
printf("%d fall\n",i+1);
safe = 0;
break;
}
}
}
if(safe == 0)
continue;
printf("%d safe\n",i+1);
}
}
http://codeup.kr/JudgeOnline/problem.php?id=1509
이 프로그램을 만들고 있었는데 버그가 나서 위 주석 달아늫은 printf 문에서 시험을 하고 있었는데 놀랍게도 대각선으로 출력이 되는듯이 출력이 되었습니다. 그래서 지우고 다시썻는데 말끔히 사라지더군요. 왜 그랬을까요?(참고로 codeblocks 씁니다)
C에서 배열인덱스를 음수값으로 해서 접근이 가능했었나요...?
a[i][-3]