递归的问题谢谢谢谢谢谢谢谢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;
}

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

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

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

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