c语言中下面这条题目怎么做啊,为嘛答案是13,怎么算啊???

[复制链接]
查看11 | 回复1 | 2010-9-11 20:27:54 | 显示全部楼层 |阅读模式
#include "stdio.h"
void fun(int x)
{if(x/2) fun(x/2);
printf("%d",x);
}
main()
{fun(3);printf("\n");
}

回复

使用道具 举报

千问 | 2010-9-11 20:27:54 | 显示全部楼层
不是13,是1和3,具体过程如下:fun(3)->因为3/2=1,if的条件为真,就执行fun(1),因为1/2=0,if的条件为假,所以执行printf("%d",x);输出1,返回,接着执行一开始fun(3)里的printf("%d",x);输出3
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行