鱼C论坛

 找回密码
 立即注册
查看: 1181|回复: 9

[已解决]帮帮忙

[复制链接]
发表于 2023-10-26 20:04:40 | 显示全部楼层 |阅读模式
10鱼币
这一步没有看懂,帮帮忙,谢谢大家了
最佳答案
2023-10-26 20:04:41
本帖最后由 柿子饼同学 于 2023-10-26 21:14 编辑
xzh莫小痕 发表于 2023-10-26 20:10
我没有搞清楚为啥要这样写那一步标红的步骤,num * 10 + (ch-0)这一步是将字符形转成整形吗,为何要这样写 ...


举个例子, 比如现在一个字符串是 "aa12345aa", 目前 num == 0
前两个肯定是跳过的 , 当遇到 ch == '1' 时, 检测到是数字字符, 执行 16 行
num 先乘 10 还是 0 , 然后加上 '1' - '0'
注意 , 如果没有 - '0' 那 ans 加的就是 ch 的 ASCII 码值 (ch 是 char 类型) , '0' 的 ASCII 码是 48, '1' 是 49 , 显然减去 '0' 就是这一位的数字了
到 ch == '2' 时 , num * 10 == 10, 这时再加 2 变成 12
以此类推 , num 的值后面依次是 123, 1234, 12345
Screenshot_20231026_195934_com.huawei.browser_edit_364147518760049.jpg

最佳答案

查看完整内容

举个例子, 比如现在一个字符串是 "aa12345aa", 目前 num == 0 前两个肯定是跳过的 , 当遇到 ch == '1' 时, 检测到是数字字符, 执行 16 行 num 先乘 10 还是 0 , 然后加上 '1' - '0' 注意 , 如果没有 - '0' 那 ans 加的就是 ch 的 ASCII 码值 (ch 是 char 类型) , '0' 的 ASCII 码是 48, '1' 是 49 , 显然减去 '0' 就是这一位的数字了 到 ch == '2' 时 , num * 10 == 10, 这时再加 2 变成 12 以此类推 , num 的值后面依次 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-26 20:04:41 | 显示全部楼层    本楼为最佳答案   
本帖最后由 柿子饼同学 于 2023-10-26 21:14 编辑
xzh莫小痕 发表于 2023-10-26 20:10
我没有搞清楚为啥要这样写那一步标红的步骤,num * 10 + (ch-0)这一步是将字符形转成整形吗,为何要这样写 ...


举个例子, 比如现在一个字符串是 "aa12345aa", 目前 num == 0
前两个肯定是跳过的 , 当遇到 ch == '1' 时, 检测到是数字字符, 执行 16 行
num 先乘 10 还是 0 , 然后加上 '1' - '0'
注意 , 如果没有 - '0' 那 ans 加的就是 ch 的 ASCII 码值 (ch 是 char 类型) , '0' 的 ASCII 码是 48, '1' 是 49 , 显然减去 '0' 就是这一位的数字了
到 ch == '2' 时 , num * 10 == 10, 这时再加 2 变成 12
以此类推 , num 的值后面依次是 123, 1234, 12345
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-26 20:04:47 | 显示全部楼层
当然,我很乐意帮助你解决问题。请告诉我具体是哪一步让你感到困惑,以便我能够给出更详细的解答。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-26 20:04:51 | 显示全部楼层
很抱歉,但我无法提供具体帮助,因为你没有说明你需要的是什么。如果你能提供更多细节或具体问题,我将尽力回答。谢谢!
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-10-26 20:10:34 | 显示全部楼层
我没有搞清楚为啥要这样写那一步标红的步骤,num * 10 + (ch-0)这一步是将字符形转成整形吗,为何要这样写呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-27 07:07:49 | 显示全部楼层
num=10*num+(ch-'0')
//10*num是把上一个数字储存在十位上
//ch-'0'是把这一位的数字字符转换成数字
//如'1'-'0'就会得到1
希望得最佳答案,谢谢

评分

参与人数 1鱼币 +5 收起 理由
xzh莫小痕 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-27 07:08:50 | 显示全部楼层
xzh莫小痕 发表于 2023-10-26 20:10
我没有搞清楚为啥要这样写那一步标红的步骤,num * 10 + (ch-0)这一步是将字符形转成整形吗,为何要这样写 ...

对的(ch-'0')就是把字符转成数字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-10-27 08:30:23 From FishC Mobile | 显示全部楼层
柿子饼同学 发表于 2023-10-26 21:13
举个例子, 比如现在一个字符串是 "aa12345aa", 目前 num == 0
前两个肯定是跳过的 , 当遇到 ch == '1' ...

谢谢你,不过我还想问一下123怎么输出的,当num=2,   2*10=20,   '3'-'0'= 3,那输出是23呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-27 09:48:49 | 显示全部楼层
xzh莫小痕 发表于 2023-10-27 08:30
谢谢你,不过我还想问一下123怎么输出的,当num=2,   2*10=20,   '3'-'0'= 3,那输出是23呀

碰到 1 的时候 num 是 0 , 这时 num*10 + '1' - '0' == 1
碰到 2 的时候 num 是 1 , num*10 + '2' - '0' == 12
以此类推
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-27 16:53:42 | 显示全部楼层
@xzh莫小痕 谢谢评分
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-5 17:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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