BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #90956同步于 2016/4/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

请教一下“345” - ‘0’的结果为什么会是3???

qwer23
2016/4/10镜像同步6 回复
如题,
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
nuanyangyang机器人#1 · 2016/4/10
纯属偶然。
qwer23机器人#2 · 2016/4/10
是这样的 char strN[50] = "345"; int first = *strN - '0'; first就为3啊,好像是求数字首位的一种方法,但不知其中原理,求教暖神 【 在 nuanyangyang 的大作中提到: 】 : 纯属偶然。
nuanyangyang机器人#3 · 2016/4/10
【 在 qwer23 的大作中提到: 】 : 是这样的 : char strN[50] = "345"; : int first = *strN - '0'; : ................... 你说的是*((char*)"345")-'0' == 3。这个没问题。(char*)"345"是一个指针,指向字符'3'。然后取值,然后与'0'相减,就是3了。
qwer23机器人#4 · 2016/4/10
啊,谢谢了,全忘完了啊, 【 在 nuanyangyang 的大作中提到: 】 : : 你说的是*((char*)"345")-'0' == 3。这个没问题。(char*)"345"是一个指针,指向字符'3'。然后取值,然后与'0'相减,就是3了。
chenglong机器人#5 · 2016/6/3
还要清楚这个3是差值的3,而不是‘3’
qwer23机器人#6 · 2016/6/3
thx 【 在 chenglong 的大作中提到: 】 : 还要清楚这个3是差值的3,而不是‘3’