c++ 采用递归进行多进制输出 这里递归原理请大神指教下
void displayInBase(int n,int base){
if(n > 0)
{
displayInBase(n/base,base);
cout<<n%base;
}
}
递归函数调用步骤怎样一个顺序,最后的终止条件为调用displayInBase(0,8)这里还能调用这个函数吗,这个完全不执行啊,怎么就能一步步的返回输出1%8,10%8,85%8呢,求解释 递归?多进制输出 递归,?多进制输出
[解决办法]
"最后的终止条件为调用displayInBase(0,8)"继续调用diaplayInBase函数,条件"if(n>0)"不满足,函数执行结束退出,返回调用函数,执行"cout<<n%base"。
[解决办法]
n > 0,才执行if呢
[解决办法]
#include <iostream>
using namespace std;
void displayInBase(int n,int base){
if(n > 0)
{
displayInBase(n/base,base);
cout<<n<<"%"<<base<<endl;
}
};
int main()
{
displayInBase(85, 8);
};
~
结果就是你需要的结果