[급함]c언어를 사용하여 n-queen 찾기에서 무한루프가 도는데 이유를 모르겠습니다
조회수 776회
int is_safe(int i,int j) { int k = 1; int num = i;
i--;
while (i = !0)
{
if (board[i][j] == 1) return 0;
i--;
}
i = (num-1);
while (i = !0 && j+k <= size)
{
if (board[i][j + k] == 1) return 0;
k++;
i--;
}
i = (num-1);
k = 1;
while (i = !0 && j-k >0)
{
if (board[i][j - k] == 1) return 0;
k++;
i--;
}
return 1;
}
n-Queen을 찾는 문제 입니다. 제가 만들어 본것인데 빌드는 되는데 디버그가 안되네요ㅜ 프로그램이 계속 도는 것 같습니다ㅜ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
while (i = !0)
여기서 !0는 1이 됩니다. (!는 NOT 연산자)
1은 True/False중에 True에 해당하게되고, 이를 i에 대입하게되므로
무한루프를 도는 구조가 되는겁니다.
while(i != 0)
으로 수정해보세요~
!= 연산자는 '같지 않다면'을 뜻합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력