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

2020-02-06 10:07发布

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

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
伊犁鼠兔
1楼-- · 2020-02-07 20:20
canspider 发表于 2016-1-1 17:26
因为ascii码就是这样设计的

确实是这样,[A...Z]的高四位是0100、0101,[a...z]高四位0110、0111。

3.png (320.85 KB, 下载次数: 0)

下载附件

2016-1-2 18:58 上传



gamalot
2楼-- · 2020-02-08 01:46
 精彩回答 2  元偷偷看……

一周热门 更多>