鱼C论坛

 找回密码
 立即注册
查看: 1335|回复: 5

[已解决]c语言搞不懂

[复制链接]
发表于 2022-1-4 13:12:39 | 显示全部楼层 |阅读模式
50鱼币
1、num = num * 10 + (ch - '0')这个式子是怎么想出来的啊,完全没有思路;
2、num = num * 10 + (ch - '0')这个式子中ch为什么要减0;
3、else { if(num)}这是什么意思。
最佳答案
2022-1-4 13:12:40
打个比方你输入的是 123
【123】 不是整型,他们对应的ascii编码分别为49 50 51
而这个代码是要将他们转换为整型看,也就是 123 一百二十三
字符'0'对应的ascii 是 48,而他们相减就是用对应的ascii相减。所以三轮循环分别是
10 * 0 + (49 - 48) = 1
10 * 1 + (50 - 48)= 12
10 * 12 + (51 - 48 )=123

                               
登录/注册后可看大图
截屏2022-01-04 13.04.39.png

最佳答案

查看完整内容

打个比方你输入的是 123 【123】 不是整型,他们对应的ascii编码分别为49 50 51 而这个代码是要将他们转换为整型看,也就是 123 一百二十三 字符'0'对应的ascii 是 48,而他们相减就是用对应的ascii相减。所以三轮循环分别是 10 * 0 + (49 - 48) = 1 10 * 1 + (50 - 48)= 12 10 * 12 + (51 - 48 )=123
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-4 13:12:40 | 显示全部楼层    本楼为最佳答案   
打个比方你输入的是 123
【123】 不是整型,他们对应的ascii编码分别为49 50 51
而这个代码是要将他们转换为整型看,也就是 123 一百二十三
字符'0'对应的ascii 是 48,而他们相减就是用对应的ascii相减。所以三轮循环分别是
10 * 0 + (49 - 48) = 1
10 * 1 + (50 - 48)= 12
10 * 12 + (51 - 48 )=123

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-4 13:37:45 | 显示全部楼层
3、else { if(num)}这是什么意思。
这里就是如果输入的不是0-9的话就会直接跳出从头开始
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-4 13:55:58 From FishC Mobile | 显示全部楼层
你的编译器的外观主题很美,下面的!= 呈现很帅。
建议:你的 tab 需要设定一下,改成 4 个空格,不要用 8 个空格。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-4 19:09:56 | 显示全部楼层
想知道小甲鱼最近在做啥?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-1-5 12:29:30 | 显示全部楼层
大马强 发表于 2022-1-4 13:12
打个比方你输入的是 123
【123】 不是整型,他们对应的ascii编码分别为49 50 51
而这个代码是要将他们转 ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-7-1 23:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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