C语言:用递归法讲一个整数n转换成字符串。例如输入483,应输出字符串“483”,n的位数不定,为任意位数整

原程序请看图片,请哪位懂的人告诉我程序中putchar(n%10+'0')是什么意思啊?为什么用putchar而不用printf?... 原程序请看图片,请哪位懂的人告诉我程序中putchar(n%10+'0')是什么意思啊?为什么用putchar而不用printf? 展开
 我来答
4747哦
2019-07-15 · TA获得超过675个赞
知道小有建树答主
回答量:365
采纳率:73%
帮助的人:72.3万
展开全部
输入一个十进制数,输出它的二进制数,这狠类似
#include<stdio.h>
void fun(int n, int r)
{
if (n>1) fun(n/2,r); //大于1时(对应的二进制数多于1位的数)递归
printf("%d",n%2); //返回前输出本次的余数
}
main()
{
int n,r=2;
scanf("%d",&n);
fun(n,r);
printf("\n");
}
人生笑123
2012-05-17
知道答主
回答量:1
采纳率:0%
帮助的人:1627
展开全部
为什么是逆循环输出的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友98422ad
推荐于2017-05-22 · TA获得超过339个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:297万
展开全部
n%10 这是对10取余数,如n=2345 时 n%10=5 ,n%10+'0' 就是在'0' 的ASCII码值上再加上n%10得到的值,如'0' 的ASCII码值是48,n%10+'0'=5+48=53。这么做是因为ASCII码表中数字字符是从0到9升序排列的,这样写就不用去考虑'0' 的ASCII码值是多少了。
至于为什么用putchar而不用printf,其实putchar()函数的作用等同于printf("%c", ch),所以用printf也是可以的。只是putchar()的功能就是输出一个字符,不需要格式化,这种场合下比printf方便。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式