void func(int x, int y, int size) 함수를 봅시다.
재귀함수의 경우, 끝내는 조건이 있어야 무한루프를 돌지 않겠죠?
그렇다면, 이 함수에서 재귀를 끝내는 조건은 size == 3 이어야 합니다. 이 점을 생각하고 넘어가봅시다.
한번 N을 10이라고 생각해봅시다. 그렇다면 func(10-1,0,10) 이 되겠죠. 그리고 다음 호출은 func(... , 5 ), 그 다음 func(...,2 ), func(..., 1), func(..., 0) 이 됩니다.
그렇다면 이 func(...,0) 은 탈출하지 못한채 계속 또 다른 func(...,0)을 호출하게 됩니다.
이 때문에, 스택 오버플로우 런타임에러가 발생하였습니다.
reenact 3년 전
필독 공지사항도 다 읽어보고 Code::Block에서 실행도 계속 해보고 했는데 런타임에러가 나오네요.. 오류 찾아주시면 감사하겠습니다.