这个函数是什么意思

convrt的功能是将整数转成字符串输出,我不明白n为什么这样分类,以及执行的语句是什么意思,为什么要这样写。谢谢!voidconvrt(longn){if(n<0){p... convrt的功能是将整数转成字符串输出,我不明白n为什么这样分类,以及执行的语句是什么意思,为什么要这样写。谢谢!

void convrt(long n)
{
if(n<0)
{putchar('-');
convrt(-1*n);
}
else
if(n<10)
putchar(n+'0');
else
{convrt(n/10);
putchar(n%10+'0');}
}
展开
 我来答
动标福景1253
2010-08-11 · TA获得超过109个赞
知道答主
回答量:151
采纳率:0%
帮助的人:93.9万
展开全部
这个函数的逻辑是可以这样描述的:

1、如果输入的整数是负数,那么打印一个“-”号,然后处理负号后面的正书,比如输入-4,那么先打印-,然后转换数字4
2、如果输入的是小于10的整数,直接打印就行了,比如输入5,直接打印5+‘0’(注意‘0’代表字符0)
3、如果是大于10的整数,那么就要一位位的打印了,比如12,处理过程是这样的,covert(1) -》 打印1, 回到原来的地方,打印2,那么就是打印12了

PS:这是一个典型的回调函数
lhggxx
2010-08-11 · TA获得超过128个赞
知道答主
回答量:119
采纳率:0%
帮助的人:95.2万
展开全部
你想写的是atoi函数

像这样的递归写法,我还真没想到,不过,好像你这没有把整数转换成字符串
也就是说别人没法使用你这个转换出来的字符串(就不是)

你只是实现了一个字符一个字符的打印出来,看似正确的,呵呵呵!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式