질문 내용만 보고 답변하는거라, 원하는 답변이 될지 모르겠네요.
배열을 함수인자로 넘길때 값이 아닌 레퍼런스로 넘겨지기 때문에 말씀하신 증상이 나타나는게 아닐까 싶습니다.
저 같은 경우에는 원본 배열을 따로 빼두고 재귀를 마친다음에 원본 배열을 또 가져오는 방법으로 해결합니다.
memcpy(temp, mat, sizeof(mat));
for (i = x + 1; mat[i][y] == '.'; i++)
mat[i][y] = '*';
c1 = go(i - 1, y) + 1;
memcpy(mat, temp, sizeof(mat));
이런식으로요
whj6973 5년 전
그냥 up(arr) right(arr) 식으로 호출을하면 결과는 맞게 나오는데 재귀과정에서 돌아오면서 배열이 복원되지 않습니다.
예를들어 '업->업->업->업->다운' 으로 이동을 마치고 네번째 '업'으로 돌아와서 '업->업->업->업->레프트'이 되야하는데 네번째 '업'의 결과가 아닌 이전 이동에서 '다운'의 결과에서 '레프트'가 됩니다.....
도와주세요 ㅠㅠ