Function 未正确调用递归函数
我使用递归方法将数字转换为以7为基数的表示形式。但是,运行程序后,输出字符串与输入数字相同。函数未被调用的原因是什么Function 未正确调用递归函数,function,c++11,recursion,return,data-conversion,Function,C++11,Recursion,Return,Data Conversion,我使用递归方法将数字转换为以7为基数的表示形式。但是,运行程序后,输出字符串与输入数字相同。函数未被调用的原因是什么 #include <iostream> #include <string> using namespace std; string convertToBase7(int num) { if(num<0) { string result; result = "-" + to_string(-num); return resul
#include <iostream>
#include <string>
using namespace std;
string convertToBase7(int num) {
if(num<0) {
string result;
result = "-" + to_string(-num);
return result;
}
if(0<=num<7){
return to_string(num);
}
cout << "recursive" << endl;
return convertToBase7(num/7) + to_string(num%7);
}
int main() {
int input = 100;
string output = convertToBase7(input);
cout << "Input: " << input;
cout << ", Output: " << output << endl;
return 0;
}
C++不支持像
0这样的复杂布尔表达式
Input: 100, Output: 100
if (0 <= num && num < 7) { // Here
return to_string(num);
}