找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4628|回复: 15
打印 上一主题 下一主题
收起左侧

C语言c=b-' ';是什么意思

  [复制链接]
跳转到指定楼层
楼主
ID:974277 发表于 2021-11-22 09:08 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
有大佬懂这个语句是什么意思的吗 c=b-' ';
那两个单引号‘’是干嘛的,跪求解析(í _ ì)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:277550 发表于 2021-11-22 11:37 | 只看该作者
' '之内的字符,单个字符,即char类型。 ' ' 的ascii 是0x20,相当c=b-0x20;
回复

使用道具 举报

板凳
ID:974277 发表于 2021-11-22 11:50 来自手机 | 只看该作者
单引号中间还有一个空格
回复

使用道具 举报

地板
ID:981582 发表于 2021-11-22 14:23 | 只看该作者
什么意思?这个
回复

使用道具 举报

5#
ID:624769 发表于 2021-11-22 18:21 | 只看该作者
15903835881 发表于 2021-11-22 11:50
单引号中间还有一个空格

就是这个空格,代表着  0x20,建议不要研究有这条语句的整体代码,写这条语句的就是为了显摆自己能背得出几个ASCII码。往往有这种心态的,代码都写的不怎么样,不值得学。
回复

使用道具 举报

6#
ID:983540 发表于 2021-11-22 19:01 | 只看该作者
char类型的单字符,代表一个空格字符
回复

使用道具 举报

7#
ID:517951 发表于 2021-11-23 09:26 | 只看该作者
字符abcd的顺序是1234, c=b+1+‘ ’; c=b-‘ ’是什么意思就不难理解了。
回复

使用道具 举报

8#
ID:714253 发表于 2021-11-23 09:49 | 只看该作者
两个单引号代表空格,空格的十进制码是32,16进制就是0x20
回复

使用道具 举报

9#
ID:70035 发表于 2021-11-23 12:14 | 只看该作者
一空格ASCII
回复

使用道具 举报

10#
ID:983500 发表于 2021-11-23 13:21 | 只看该作者
把b-附于c
回复

使用道具 举报

11#
ID:883242 发表于 2021-11-23 15:54 | 只看该作者
188610329 发表于 2021-11-22 18:21
就是这个空格,代表着  0x20,建议不要研究有这条语句的整体代码,写这条语句的就是为了显摆自己能背得出 ...

这种写法也有好的意义,比如ascii转值,-'0'就会让代码清晰明确,但是我也弄不清-' '是什么意义。
回复

使用道具 举报

12#
ID:624769 发表于 2021-11-23 16:26 | 只看该作者
Hephaestus 发表于 2021-11-23 15:54
这种写法也有好的意义,比如ascii转值,-'0'就会让代码清晰明确,但是我也弄不清-' '是什么意义。

-‘0’是为了把字符数字转为数字,相比-0x30更直观, -0x20  是用于把小写字母转大写字母, 不过一般都写 - 0x20 而不会写 - ‘ ’ 因为 不显示的符号不仅仅是只有,0x20,0x00~0x20都是不显示字符,写‘ ’ 容易产生分歧。
回复

使用道具 举报

13#
ID:624769 发表于 2021-11-23 16:37 | 只看该作者
Hephaestus 发表于 2021-11-23 15:54
这种写法也有好的意义,比如ascii转值,-'0'就会让代码清晰明确,但是我也弄不清-' '是什么意义。

再补充一下,就算为了直观, 一般的写法也是:  - ‘a'+'A'   为了写的不那么复杂,会直接 - 0x20  除了显示自己能被得出几个ASCII码,真不会有人去写: - ‘ ’  这种。
而且转大小写很少用+ - 来转换,因为转大小写通常为了字符统一,所以, 一般都是  |0x20  无论大小写都转小写, 要么 &0xDF; 无论大小写都转大写, 要么,^0x20  大写变小写,小写变大写的大小写互转。
回复

使用道具 举报

14#
ID:139866 发表于 2021-11-23 17:28 | 只看该作者
单引号就代表ascii字符形式,实际上就是一个数,c = b - 32,或者c = b - 0x20

51hei拼音截图20211123172409.png (5.19 KB, 下载次数: 88)

51hei拼音截图20211123172409.png
回复

使用道具 举报

15#
ID:976040 发表于 2021-11-23 18:57 | 只看该作者
单引号表示字符型的数据,这里单引号里面是空格,表示变量c=变量b减去空格的ASCII码值,空格的ASCII码值可以查表得到是32,也可以通过写程序,打印出空格的值(printf("%d",' ');)
回复

使用道具 举报

16#
ID:983972 发表于 2021-11-23 19:50 | 只看该作者
定义单个字符,char类型
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表