ch - '0'是什么意思?

紫色动力 2011-06-14 09:17:04

if(isdigit(ch))
operandStack.push(ch - '0');


operandStack是一个int型的栈,上面的程序的意思是不是可以这么理解:判断一个字符是不是数字,如果是,转换成int,压入栈。如果是这个意思,那么“ch - '0'”就是把字符变成int类型,为什么会这样呢?谢谢!!
...全文
2509 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫色动力 2011-06-14
  • 打赏
  • 举报
回复
有大概明白什么意思了,ASCII相减结果是int。对吧,呵呵
Freedom 2011-06-14
  • 打赏
  • 举报
回复
就是利用ASCII来装换的啊 0是48的啊
無_1024 2011-06-14
  • 打赏
  • 举报
回复
将字符型数字转换为int型数字
pathuang68 2011-06-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dizuo 的回复:]

ch是 char类型,把ch - '0'把acs码转化成int。
'1' - '0' = 1;
'2' - '0' = 2;
[/Quote]

++
'1'的ascii码比'0'的ascii码大1,所以'1' - '0' = 1;
...
地狱业火 2011-06-14
  • 打赏
  • 举报
回复
应该是判断是不是字符型的 '0' --- '9' 是的话就把ch转换成int型的 0-9
hedy007 2011-06-14
  • 打赏
  • 举报
回复
好比
ch等于‘0’
ch-'0'=0
ch等于‘1’
ch-'0'=1
...
ch等于‘9’
ch-'0'=9
xiaoguangzaia 2011-06-14
  • 打赏
  • 举报
回复
从ascii码变为0~9
maoxing63570 2011-06-14
  • 打赏
  • 举报
回复
字符转换成整数,比如ch='9';那么ch-'0'=9
ryfdizuo 2011-06-14
  • 打赏
  • 举报
回复
ch是 char类型,把ch - '0'把acs码转化成int。
'1' - '0' = 1;
'2' - '0' = 2;
wuyu637 2011-06-14
  • 打赏
  • 举报
回复
因为 数字的编码 0 1 2 3 4 。。 9 是按顺序的。

所以‘9’-‘0’ = 9

65,196

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧