#define_CRT_SECURE_NO_WARNINGS\ 1\n#include<stdio.h>\n#include<string.h>//strlen函数为求字符串长度,需要用到这个头文件\nint\ main()\n{\n\tprintf("escape\ character\ test\ 1\n");//\n中斜杠使n的意思转变,共同组成转义符,表示“换行”\n\n\tprintf("c:\test\n");//打印出来的是:c: est 原因:/t是水平制表符,打印出了6个空格\n\tprintf("c:\test\n");//打印结果:c:\test\n\t//验证如下:\n\tprintf("%d\n", strlen("c:\test\32"));//7,分别是: c : \t e s t \32 其中\32是一个八进制数字,大小为32(8)(即32O)=38^1+28^0=26\n\tprintf("%d\n", strlen("c:\test\32"));//10,分别是: c : \ t e s t \ 3 2\n\tprintf("%c\n\n", '\32');//打印结果为(调试控制台上显示不出来),查ASCII表可知\32表示的就是\n\n\tprintf("%c\n", 'a');//"%c打印字符类型的数据\n\tprintf("%c\n\n", ''');//“'”就是普通的’,防止'''的前两个单引号被解译成待打印的字符,后面的一个单引号成了语法错误\n\n\tprintf("%s\n", "escape\ character\ test\ 2");\n\tprintf("%s\n\n", "");//与上面的同理\n\n\t\n\t//转义符:转义字符 意义 ASCII码值(十进制)\n\t// \a 响铃(BEL) 007\n\t// \b 退格(BS) ,将当前位置移到前一列 008\n\t// \f 换页(FF),将当前位置移到下页开头 012\n\t// \n 换行(LF) ,将当前位置移到下一行开头 010\n\t// \r 回车(CR) ,将当前位置移到本行开头 013\n\t// \t 水平制表(HT) (跳到下一个TAB位置) 009\n\t// \v 垂直制表(VT)011\n\t// \ 代表一个反斜线字符'''(用于表示一个“反斜杠”,来转移斜杠,以抵消“被解析为转移字符里的斜杠”) 092\n\t// ' 代表一个单引号(撇号) 字符039\n\t// " 代表一个双引号字符 034\n\t// \ ? 代表一个问号 063 (在老式的VS编译器中,会有老式C语言的“三字母词”,例如2006版VS编译器会把??)解释为],所以连续使用多个?时,需要这样打印出来)\n\t// \0 空字符(NUL),字符串的结束标志(见20230731) 000\n\t// \ddd1 到3位八进制数所代表的任意字符(ddd表示至多3个八进制数字)三位八进制\n\t// \xhh 十六进制所代表的任意字符(hh表示至多2个八进制数字) 十六进制\n\n\treturn\ 0;\n}\n这段代码没有明显的问题,只是在打印字符串中的转义字符时可能需要注意一些细节。例如,打印路径字符串"c:\test\n"时,由于"\t"被解释为水平制表符,所以会打印出6个空格。为了打印出正确的路径,需要使用双反斜杠来表示转义字符,即"c:\test\n"。另外,还需要注意在打印字符类型数据时,要使用"%c"格式化符号。


原文地址: https://www.cveoy.top/t/topic/p8xD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录