C标准库函数tolower源码为何是按位与而不是用加?

2020-02-06 10:07发布

箭头标注的地方为什么是c |= ('a' - 'A'); 而不是c += ('a' - 'A');
1.png (14.64 KB, 下载次数: 0) 下载附件 2016-1-1 17:04 上传

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
lllaaa
2020-02-07 03:07
我猜是被人改动过。
如果有if判断大小写后,一般大家都会用+,但是这里用|也没错。因为大小写字母的hex有个特别的地方。
其实可以不判断大小写直接c |= 0x20。

一周热门 更多>