#include<stdio.h>
void bin(int x)
{
if(x/2>0) bin(x/2);
printf("%d\n",x%2);
}
int main()
{
bin(12);
return 0;
}
执行过程不懂,代码是书上的,不懂为什么会输出四个数,我的理解就是只输出一个数。求各位程序猿解释一下代码的执行过程和结果。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- qzjhjxj 2022-01-20 11:11关注
递归函数 bin(); 当x=12 ,递进 x=6 ,递进 x=3 ,递进 x =1 ,if(x/2>0) 条件不满足,回归 printf("%d\n",x%2);输出 1
回归 x=3 时 printf("%d\n",x%2);输出 1 ,回归 x=6 时 printf("%d\n",x%2);输出 0,回归x=12时printf("%d\n",x%2);输出 0。
最终:1 1 0 0本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 基础的图像处理问题求解答
- ¥50 全国两定智慧医保接口开发相关业务文档,以及技术实现流程文档
- ¥15 idea做图书管理系统,要求如下
- ¥15 最短路径分配法——多路径分配
- ¥15 SQL server 2022安装程序(英语)无法卸载
- ¥15 关于#c++#的问题:把一个三位数的素数写在另一个三位数素数的后面
- ¥15 求一个nao机器人跳舞的程序
- ¥15 anaconda下载后spyder内无法正常运行
- ¥20 统计PDF文件指定词语的出现的页码
- ¥50 分析一个亿级消息接收处理策略的问题?