수치해석과는 거리가 멀어서 재귀함수는 한번도 사용을 해 보지 않아서
재귀함수 관련글만 보면 관심있게 보고 있는데요...
문득 재귀함수를 쓰는 것과 함수내에서 goto문을 이용한 루프문간에 큰 차이가
없는 것이 아닌가 하는 생각이 들어서요...
스택이 쌓이는 문제라면 오히려 다음과 같은 goto반복문이 더 좋은 것이 아닌가 하는 생각도 들구요...
//--------------------------------
#include "stdafx.h"
int sum(int x, int acc)
{
RecursionPos:
if(x > 100) return acc;
acc+=x; x+=1;
goto RecursionPos;
}
int _tmain(int argc, _TCHAR* argv[])
{
printf("%d\n", sum(0, 0));
getchar();
return 0;
}
//--------------------------------
그럼에도 불구하고 재귀함수를 사용하는데는 이유가 있겠죠?
goto반복문으로 재귀함수의 대부분을 구현 할 수 있을 것 같은데 그래도 재귀함수를
써야 하는 이유가 뭘까요?
* 오타 및 내용추가를 위해서 본삭금을 걸지 않았습니다... (양해 바랍니다.)