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

#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" );
else
printf("The character is a other character.\n");
}

炎炎设计
浏览 776回答 2
2回答

繁花如伊

这个是根据标准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) 换页键...

DIEA

0x20就是十六进制的20,相当于十进制32,好像是空格,控制符,就是换行\n,制表\t 一系列并不输出实际字符 而是控制字符串格式的,ASCII码0x20之前的就是控制字符,这些16进制都是ASCII码
打开App,查看更多内容
随时随地看视频慕课网APP