即使在将参数传递到函数日志时,也会显示错误,表明函数参数太少。
#include <iostream>
using namespace std;
int log(int n, int x){
return (n>1) ? 1 + log(n/x) : 0;
}
int main() {
int n,x;
cin>> n>> x;
cout<< log(n,x);
}
我希望log10(1000)的输出为3,但是很少显示参数错误。
答案 0 :(得分:3)
您在递归步骤中忘记了log函数的第二个参数。
return (n>1) ? 1 + log(n/x, x) : 0;
顺便说一句,您应该给变量起一些描述性的名称。例如,可以使用n
而不是base
。