理解了是012345这样排序,k=0使输出k为0也可以理解,但想知道12345是怎么输出的,难道f(-1)=1 ?想想不太可能啊,求解答😭
实际上就是分别调用了fun(5),fun(4),fun(3),fun(2),fun(1);fun(0);
可以拆开来看,比如执行fun(1)
那就是执行
if(k>0)
fun(0);
cout<<k; //输出1
再来看执行fun(0),如下,
if(k>0)
cout<<k; 这里输出0,然后返回上边 输出1 , 5依次执行下去就是012345
可以看下这个执行图
把递归过程思考清楚,答案是这个样子,输出k不在if内,每次都会输出的