길찾기 내 조건문 질문 있습니다.
다스리
질문 내용 :.#include stdio.hint main()
{
int a,b; //입력
//for문
int cnt=0; //카운트
int cntt=0;
int k=0,z=5;
int x=0,y=5; //배열
int arr[7][10]={{1,1,0,0,0,0,1,1,1,1},
{1,1,0,1,1,1,1,1,1,1},
{1,0,0,0,0,0,1,1,1,1},
{1,0,1,1,1,0,0,0,0,1},
{1,0,1,1,1,1,1,1,0,1},
{1,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1}};
scanf(%d %d,&a,&b); arr[2][3]=1;
while(1)
{
if(x==a && y==b)
{printf(%d\n,cnt);
break;}
else
{
if(arr[x][y-1]==0)
{
y--;
cnt++;
arr[x][y]=1;
} else if(arr[x+1][y]==0)
{x++;
cnt++;
arr[x][y]=1;
}
else if(arr[x-1][y]==0)
{x--;
cnt++;
arr[x][y]=1;
}
else if(arr[x][y+1]==0)
{
y++;
cnt++;
arr[x][y]=1;
}
}
}
}지금 길찾기 문제 풀고 있는데요..궁금한게 중복 if문을 구성했을때if
{}
else
{if ~~~~~~else if~~~~~이런식으로 if쓰고 그 밑에 else if 써서 여러개 조건문을 쓰잖아요..그런데 이게 첫번째 if문에서 조건 만족안하면 바로 밑 else if이것도 만족 안하면 그다음 else if 문으로 내려가는거 아닌가요??제 코드 돌려보면 시작점을 [0][1]로 잡았을때 랑 [0][5]로 잡았을때랑 else if문 내 어떤 조건을 먼저 쓰느냐에 따라 프로그램이 진행되기도 안되기도 하네요.. 시작점이 어디있든지 프로그램 돌릴려면 어떻게 해야 할까요??