2차원 배열에서 배열 설정할때 질문드립니다.
조회수 467회
#include <stdio.h>
int main(void){
int a[20][20] = {};
int q,i,j,x,y;
scanf("%d",&q);
for(i = 0; i < q; i++)
{
scanf("%d %d",&x,&y);
a[x][y] = 1;
}
for(i = 1; i < 21; i++)
{
for(j = 1; j < 21; j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
//여기에 코드를 입력하세요
바둑판 만들어서 바둑판 어디에 뭐가있는지 설정하는 코드인데 19*19 입니다. 근데 19*19인데 배열 설정할때 a[20][20]으로 해야되던데 이러면 배열이 20*20 인거 아닌가요? 다른 개념 보니까 20 20 으로 생성된다는데 실행해보니까 1919으로 생성되네요 왜 이렇게 되는지 이해가 되지않습니다. 어떤 사이트는 3 4로설정하면 3 4 배열이 된다는데 여기는 20 20 설정하는데 1919 배열이 되는거에서 너무 혼란이 오네요
1 답변
-
c (와 그 아류) 프로그래머들은 1번, 2번, 3번 이렇게 안 세고, 0번, 1번, 3번 이렇게 세요.
1차원 배열
a[10]
의 첫번째 원소는a[0]
이고, 그다음은a[1]
, ... , 마지막 원소는a[9]
입니다.
댓글 입력