1
저는 C++을 처음 사용하고 계산기를 만들려고합니다. 그러나, 나는간단한 C++ XCODE 프로그램에서 EXC_BAD_ACCESS
int factorial(int num1)
무슨 일이 일어나고 있는지 어떤 생각의 오류 EXC_BAD_ACCESS를 얻을
int factorial(int num1) {
int sum;
if (num1 == 1) {
sum = 1;
}
else {
sum = factorial((num1 - 1) * num1);
}
return sum;
}
나는 시도하고이를 컴파일 할 때마다 : 나는 숫자의 계승을 얻기위한 목적으로이 기능을 설계? XCODE를 사용하고 있습니다.
나는 컴파일러가 충돌하는 것을 의심합니다. 대신 프로그램을 실행하려고 할 때 프로그램이 충돌한다고 생각합니다. 그러나 우리는 [최소한의 완전하고 검증 가능한 예제] (http://stackoverflow.com/help/mcve)가 없으면 실제로 말할 수는 없습니다. 가장 중요한 것은 함수를 호출하는 방법 (선언하지 말 것)을 포함하도록 질문을 편집하십시오. 그리고 당신이 입력을 읽는다면 또한 당신이주는 실제 입력을 포함 시켜라. 또는 디버거에서 프로그램을 실행하여 직접 문제를 해결해보십시오. –
하지만 예를 들어 함수에 '2'를 넣으면 * 무한 재귀 *가됩니다. 디버거를 사용하여 이유를 찾을 수 있습니다. –