注册 登录
编程论坛 新人交流区

[分享][讨论]我知道1,3,6怎么来的

你最忠实的哥们 发布于 2007-10-31 17:59, 321 次点击
fun(int x)
{ if (x/2>0) fun(x/2);
printf("%d",x);
}
main()
{fun(6);
}
本人认为这个递归调用问题有一定的代表性!首先,6是整型的,带入自定义函数fun()中,6/2=3大于0成立,打印x也就是6了,然后x/2(3/2)判断是否大于0,成立,输出3,3/2=1。5,取整得1,再来除2,得0.5,成立,输出1,0.5取整后为0,条件不成立,所以打印出6,3,1。
0 回复
1