재귀 꼬리 호출은 함수가 마지막 동작으로 자신을 호출 할 때 발생한다는 것을 알고 있습니다. 함수 호출이 마지막 줄에없는 경우에도 다음 코드는 꼬리 호출로 간주됩니까?꼬리 전화로 간주됩니까?
void test(int a)
{
if(a == 1)
return;
else if(a % 2 == 0)
test(a/2);
else
test(3 * a - 1);
}
말은 짝수이다. 전화 테스트 (a/2)는 꼬리 호출로 간주됩니까?
'테스트'호출은 [꼬리 전화] (http://en.wikipedia.org/wiki/Tail_call) 위치에서 발생합니다. 기본적으로 * 마지막 액션으로 호출되는 모든 함수 * - 이것은 반환 값을 버리거나 즉시 반환해야 함을 의미합니다. [물론 이들은 void에 적용되지 않습니다.] - 꼬리 호출 위치에 있습니다. – user2864740