#include <iostream>
using namespace std;
void f(int);
int main()
{
int x;
cin>>x;
f(x);
return 0;
}
void f(int n)
{
int c;
if (n==0)
cout<<0;
else if (n==1)
{
cout<<1;
}
else
{
c=n%2;
f(n/2);
cout<<c;//先不执行,例如N=8时,当N=1时,输出1,再倒回去,N=2时,输出0,N=4时,输出0,N=8时,输出0.并不是执行到C=n%2,就接着执行cout<<C
}
}
感悟:理解递归函数的真正含义,先一步步找到已知数 的值,然后再返回去。还是要多练啊,要贴近于实战,不能眼高手低。