递归的问题谢谢谢谢谢谢谢谢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个回答

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

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

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

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

xiaoxin181
xiaoxin181 谢谢您
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问