Я пытаюсь создать рекурсивную функцию следующим образом.Рекурсивная функция C++
Функция принимает счетчик k
и до тех пор, что счетчик больше нуля, я хотел бы назвать это рекурсивно, так что в конце концов, я в конечном итоге с чем-то вроде этого:
result = 2(2(2n+1)+1)+1
где последний n (когда k = 0) должно быть равным нулю.
int pass(int k, int n)
{
if(k==0)
{
n = 0;
}
else
{
k--;
return pass(k, 2*n+1);
}
}
Может ли кто-нибудь дать мне подсказку о том, как это сделать?
Для этой рекурсии необходим базовый регистр. если k == 0, вы должны вернуть 0, а не просто установить n. – code11
Если 'k == 0', функция возвращается без оператора' return'. Это вызывает неопределенное поведение. – Peter
Я изменил для возврата 0 ;, но он все еще не работает. – DoubleOseven