请问整两个区别是社什么呢?
#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;
则两个程序输出不同