返回信息流如题,
这是一条镜像帖。来源:北邮人论坛 / cpp / #90956同步于 2016/4/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
请教一下“345” - ‘0’的结果为什么会是3???
qwer23
2016/4/10镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
是这样的
char strN[50] = "345";
int first = *strN - '0';
first就为3啊,好像是求数字首位的一种方法,但不知其中原理,求教暖神
【 在 nuanyangyang 的大作中提到: 】
: 纯属偶然。
【 在 qwer23 的大作中提到: 】
: 是这样的
: char strN[50] = "345";
: int first = *strN - '0';
: ...................
你说的是*((char*)"345")-'0' == 3。这个没问题。(char*)"345"是一个指针,指向字符'3'。然后取值,然后与'0'相减,就是3了。
啊,谢谢了,全忘完了啊,
【 在 nuanyangyang 的大作中提到: 】
:
: 你说的是*((char*)"345")-'0' == 3。这个没问题。(char*)"345"是一个指针,指向字符'3'。然后取值,然后与'0'相减,就是3了。