癞蛤蟆丶ccc 发表于 2020-10-11 20:53:39

小白求助

#include<stdio.h>
int main() {
        char m;
        m = 'B' + 32;
        printf("%c\n", m);
        return 0;
}
大一课后作业有点问题
那个输入的是B 我自己VS运行了一下 为什么输出就成了b不是B

巴巴鲁 发表于 2020-10-11 21:02:31

m = 'B' + 32;这句让B对应的ACSII码加了32,对应的刚好是b

昨非 发表于 2020-10-11 21:21:53

本帖最后由 昨非 于 2020-10-11 21:27 编辑

如楼上所说,小写字母ASCII码比大写字母大32,
大写字母+32再通过%c打印出来就是对应小写字母
https://blog.csdn.net/abc5382334/article/details/13997005?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160242278119724835861667%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160242278119724835861667&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-2-13997005.pc_first_rank_v2_rank_v28&utm_term=c%E8%AF%AD%E8%A8%80%E8%BD%AC%E4%B9%89%E5%AD%97%E7%AC%A6%E8%A1%A8&spm=1018.2118.3001.4187

meihua 发表于 2020-10-12 10:40:29

因为每个字母英文都有对应的数字,可以看acsii对着来

乐乐学编程 发表于 2020-10-12 12:56:24

在 ASCII 码表中,数字是从48(0)开始,到57(9),英文大写字母从65(A)开始,到90(Z),英文小写字母从97(a)开始,到122(z)。这个不用记,时间长了,要用时去查一下,用得多了,自然就知道了。
下面这张表,你另存到你的电脑中,就不需要每次都去百度了

页: [1]
查看完整版本: 小白求助