首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++练习题,初学者求解

2013-01-23 
C++练习题,菜鸟求解C++练习题,菜鸟求解#include stdio.hvoid fun(int x){if(x/20)fun(x/2)printf(%d

C++练习题,菜鸟求解
C++练习题,菜鸟求解
#include <stdio.h>
void fun(int x)
{
if(x/2>0)fun(x/2);
printf("%d",x);
}
void main()
{
fun(3);printf("\n");
}
请问答案是13,为什么??????详细点,谢谢大家了
[解决办法]
if(x/2>0)fun(x/2);
printf("%d",x);

因为x/2=1,所以执行fun(1)
fun(1)打印1,递归结束,回到之前的函数
然后打印3
就是13
[解决办法]
fun(3)
  3/2=1>0 所以fun(1)
      1/2=0所以if不成立
      打印1
      调用fun(1)结束
      打印3
调用fun(3)结束
打印换行    

要学会调试,走走看不就明白了

热点排行