转义字符
\ ? 在书写连续多个问好时使用,防止他们被解析成三字母词
\ ’ 用于表示字符常量‘
\ " 用于表示字符常量"
\ \ 用于表示一个反斜杠,防止他被解译成一个转义字符
\ a 警告字符,表示:蜂鸣
\ b 退格符
\ f 换页符
\ n 换行符
\ r 回车符
\ t 水平制表符
\ v 垂直制表符
\ ddd 三位八进制数代表一个ASCII字符(ddd是一个八进制数字)
\ xdd 二为十六进制数代表一个ASCII字符(dd是一个十六进制数字)
八进制转义字符使用
#include <stdio.h>
int main()
{
printf("%d\n",'\130');
printf("%x\n",'\130');
printf("%o\n",'\130');
printf("%c\n",'\130');
}
八进制转义字符' \130 '
,先是将130这三位八进制数转换成十进制数88,十六进制数58,然后再通过88的ASCII值找到与之所对应的字符X,最后输出。
十六进制转义字符使用
#include <stdio.h>
int main()
{
printf("%d\n",'\x30');
printf("%x\n",'\x30');
printf("%o\n",'\x30');
printf("%c\n",'\x30');
}
十六进制转义字符' \x30 '
,先是将30这二位十六进制数转换成十进制数48,八进制数60,然后再通过48的ASCII值找到与之所对应的字符0,最后输出。
字符串转义字符
#include <stdio.h>
#include<string.h>
int main()
{
char s[]="\\141\141abc\t\n";
printf("%d\n",strlen(s));
}
结果为10;
那么现在我们来分析一下答案为什么是9吧。
\:这是转义字符\的转义表示,表示一个反斜杠字符\。
141:普通字符串
\141:同样是八进制转义字符,也表示ASCII码为141的字符。
abc:这是普通的字符序列,包含字符a、b和c。
\t:这是转义字符,表示一个水平制表符。
\n:这是转义字符,表示一个换行符。
1 + 3 + 1 + 3 + 1 +1= 10。