sum = sum * 10 + ch - ‘0‘;的含义

scanf中以%c格式获取的是单个字符1,实际存储的是该字符对应的编码。

字符'1'实际存储的值是该字符的ascii码2,即49。

如果想得到整数1,就需要用'1'减去48,48就是'0'。

'1' - '0' = 49 - 48 = 1

相关推荐
Logic1019 小时前
C语言/数据结构位运算题解:异或XOR找出学习计划中的“独特学习时间“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
wuminyu10 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
思麟呀13 小时前
位运算:从一个整数到一个集合
c语言·数据结构·c++·算法
SuperByteMaster14 小时前
低功耗GPIO引脚配置
c语言
phltxy14 小时前
C 语言自定义类型:结构体、位段、枚举与联合体
c语言·开发语言
大侠归来16 小时前
C语言与C++在基础语法上的区别
java·c语言·c++
cu14317 小时前
细谈GM8229的具体功能与其应用
c语言·c++·人工智能·单片机
大侠归来18 小时前
C语言内存管理:从栈到堆的完整指南
c语言·开发语言·python
cu14318 小时前
细谈GM7123C的具体功能与其应用
c语言·c++·人工智能·嵌入式硬件
Logic10119 小时前
C语言/数据结构位运算题解:异或XOR找出弹子游戏机中数量为奇数的数字——只出现奇数次
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质