作为c语言的初学者,很多人都会被转义字符搞得头昏脑胀。那么何为转义字符呢?转义字符的作用是什么呢?想知道的话就和猪猪一起看下去吧!【如有错误,麻烦于评论区斧正,多谢】
【转义字符的种类和作用】
\?:在书写多个问号时使用,防止他们被解析为三字母词。
\”:用来表示字符常量“。
\\:用于表示一个反斜杠,防止他们被解释为一个转义序列符。
\a:警告字符,蜂鸣。
\b:退格符。
\f:进纸符。
\n:换行。
\r:回车。
\t:水平制表符。
\v:垂直制表符。
\ddd:ddd表示1~3个八进制数字。
\xdd:表示2个十六进制数字。
有的大哥看完之后和没看一样,于是猪猪开启说人话模式
【说人话】
\?:在以前的编译器,???是有可能被解析为】,通过加入\防止这种错位解析,但是在现在的编译器不存在这种问题了,所以我也没办法给你们做出实验。
\":正常情况下你想打印 “ 是打印不出来的,vs会直接报错,如下图:
但是在”前面加上\就可以得到你想要的单字符",如下图:
\\:相信我你想单独输入\真的不是一件容易的事情,比如你想输出你的电脑文件路径:此电脑\date\pr\adobe Premiere Pro 2022,但凡是个新手在vs中程序写的都是如下图所示:
但是结果你们也看见了,你会发现你的\没有了,这就是编译器将其转化为了转义字符,我们要想将其转义回来只需要在前面加上\就可,这就是转义+转义=没转义,相当于数学中的负负得正,加入之后的效果如下图:
\a:就是会导致你电脑的蜂鸣,个人建议摘下耳机使用,别问我咋知道的,问就是我耳膜差点炸了
\b: 就是输出时光标后退一格,然后导致两个字输出到一起,效果如下图:
反正我觉得这玩意没啥用哈。
\f:这玩意叫进纸符,说实话我找半天我也没找到他的作用,在vs中的实验结果我也没看懂,结果如下:
我觉得可能就是和前面的 \?差不多,存在于老的编译器中,新的编译器不兼容
\n:就是换行,让你的想输出的另起一行,在新的一行输出
\r:就是回车,就是回到这一行的开始,重新输出新的数据
\n和\r的效果如下:
一个是换新的一行输出,一个是覆盖性输出
\t:水平制表符号(作用其实都差不多),在一个制表符的范围内,删除或者增加文字数量,不会改变第二行的制表符的位置(其实就是键盘的tab键),效果如图:
\v:在vs中也是实验不出来的,估计也是新的编译器不支持的原因,如图:
\ddd:ddd表示1~3个八进制数字,然后将这个八进制数组转化为十进制数组,然后输出十进制数字在ASCII表种对应的字符。如下图:
88对应的字符就是X。
\xdd :就是将dd作为十六进制数转化为十进制数,然后输出这个十进制数对应的ASCII的字符,如图所示:
以上就是猪猪对转义字符的全部理解,若有错误,还请于服务区指正。上面的编译器直接打出不知名字符的,都是俺们后期用不到的。相信猪猪(尽管我猪猪都不太相信猪猪)。