You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言字符串数字求和程序疑问:string[count]-'0'作用解析

为什么C语言里要给字符数字减去'0'?

在C语言中,字符串里的数字(比如'0'、'1'这类)本质是ASCII字符,它们对应的编码值是连续排列的:'0'的ASCII值为48,'1'是49,'2'是50……一直到'9'是57。

如果直接把字符'5'加到sum变量里,实际累加的是它的ASCII码值53,这显然不是我们需要的数字5。而string[count] - '0'这个操作,就是利用数字字符编码连续的特性,把字符形式的数字转换成对应的整数:

  • 比如'3' - '0' = 51 - 48 = 3(整数)
  • '9' - '0' = 57 - 48 = 9(整数)

这样sum累加的就是实际的数字数值,才能得到正确的字符串数字之和。

内容的提问来源于stack exchange,提问作者Jamie Laden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 06:25:06