fun(int x) { if(x/2>0) fun(x/2); printf("%d",x); } main() { fun(6); } 问:递归函数调用都有终值和结束条件,此题为何没有呢?不解中…
我调试了下,win-tc结果为136. ????
那就是分别打印1、3、6
我还以为是136呢…
糊涂了,谢了!
对啊,乌鸦说的对啊。
fun(int x) //x=1 { if(x/2>0) fun(x/2); printf("%d",x); }
fun(int x) //x=3 { if(x/2>0) fun(x/2); printf("%d",x); }
fun(int x) //x=6 { if(x/2>0) fun(x/2); printf("%d",x); } main() { fun(6); }
在这里加个换行就好看了阿
printf("%d\n",x);