鱼C论坛

 找回密码
 立即注册
查看: 1762|回复: 4

[已解决]求帮助

[复制链接]
发表于 2017-12-15 16:26:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
num = 10 * num + (ch - '0');这一个算符我看不懂
最佳答案
2017-12-15 19:48:51
这是一个有趣的十进制算法
比如 你输入2345
getchar()逐个接收
先从第一个2开始  num = 10 * 0 + (2 - 0)  == 2
第二次循环  num = 10 * 2 + (3 - 0) == 23
第三次循环 num = 10 * 23 +(4 - 0) == 234
第四次循环 num = 10 * 234 + (5 - 0) == 2345
QQ截图20171215162512.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-12-15 16:41:49 | 显示全部楼层
因为你输入一个数字,是以字符形式ch存在的
将ch - '0' 就得到了实际的数,比如 '5' - '0' == 5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-15 16:57:28 | 显示全部楼层
用对应的10 或16 进制相减 得到的字符

2017-12-15_165521.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-15 19:48:51 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
这是一个有趣的十进制算法
比如 你输入2345
getchar()逐个接收
先从第一个2开始  num = 10 * 0 + (2 - 0)  == 2
第二次循环  num = 10 * 2 + (3 - 0) == 23
第三次循环 num = 10 * 23 +(4 - 0) == 234
第四次循环 num = 10 * 234 + (5 - 0) == 2345
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-15 20:16:57 | 显示全部楼层
ch-'0'就是输入字符ch对应的实数值,比如‘0’对应ASCII是48,那么‘0’ - ‘0’=0。即字符转数值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-18 08:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表