xiaoxin181 2019-10-21 10:04 采纳率: 0%
浏览 197
已采纳

递归的问题谢谢谢谢谢谢谢谢i!

请问整两个区别是社什么呢?
#include
void conversion(int n)
{
if(n==0)
return;
else
{
n=n/2; // conversion(n/2);
conversion(n); // conversion(n/2);
cout< return ;
}
}
void main()
{
int n;
cin>>n;
conversion(n);
cout<<endl;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-10-21 10:07
    关注

    n=n/2;
    这之后,n变成原来的一半
    conversion(n/2);
    这个之后,n还是原来的值不变

    如果你后面没有用到n,或者是尾递归,那么没有区别。

    conversion(n); // conversion(n/2);
    后面加上
    cout << n;
    则两个程序输出不同

    如果问题解决,请点采纳,包括另一个问题 https://ask.csdn.net/questions/882374

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?