为了账号安全,请及时绑定邮箱和手机立即绑定

如下代码中,为什么c<0x20就是控制字符,什么是控制字符?

如下代码中,为什么c<0x20就是控制字符,什么是控制字符?

C++ C
炎炎设计 2022-04-21 14:11:07
#include <stdio.h>void main(){ char c;printf("Enter a character:");c=getchar(); /*从键盘读取输入的一个字符,然后分类判断输出结果*/if (c<0x20) printf("The character is a control character.\n");else if (c>='0'&&c<='9')printf("The character is a digit character.\n");else if (c>='A'&&c<='Z')printf("The character is a capital character.\n");else if (c>='a'&&c<='z')printf("The character is a lower character.\n" );elseprintf("The character is a other character.\n");}
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

这个是根据标准ASCII表来的:在ASCII中小于0x20(16进制)的为控制字符,包括退格等,如下:
Bin Dec Hex 缩写/字符 解释
00000000 0 00 NUL(null) 空字符
00000001 1 01 SOH(start of headling) 标题开始
00000010 2 02 STX (start of text) 正文开始
00000011 3 03 ETX (end of text) 正文结束
00000100 4 04 EOT (end of transmission) 传输结束
00000101 5 05 ENQ (enquiry) 请求
00000110 6 06 ACK (acknowledge) 收到通知
00000111 7 07 BEL (bell) 响铃
00001000 8 08 BS (backspace) 退格
00001001 9 09 HT (horizontal tab) 水平制表符
00001010 10 0A LF (NL line feed, new line) 换行键
00001011 11 0B VT (vertical tab) 垂直制表符
00001100 12 0C FF (NP form feed, new page) 换页键
...


查看完整回答
反对 回复 2022-04-24
?
DIEA

TA贡献1820条经验 获得超3个赞

0x20就是十六进制的20,相当于十进制32,好像是空格,控制符,就是换行\n,制表\t 一系列并不输出实际字符 而是控制字符串格式的,ASCII码0x20之前的就是控制字符,这些16进制都是ASCII码

查看完整回答
反对 回复 2022-04-24
  • 2 回答
  • 0 关注
  • 775 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号