转义字符
转义字符:转变它原来的意思。
假如我想打印\test和\note,程序在识别的过程中,会把\test和\note中的 \t 和 \n 给识别为转义字符,导致打印出的值不为\test和\note。
int main(){
printf("d:\test\note");
return 0;
}
控制台打印:
d: est1
note
若我还是想打印出\test与\note,则我可以借助转义字符来帮助我实现这个功能
int main(){
printf("d:\\test\\note"); //使用\来帮助我输出
return 0;
}
控制台打印:
d:\test\note
在C语言中,三个单引号或三个双引号的语句会报错,因为程序识别前两个引号为一对,后面的落单所以不能存在,若我想打印单引号或是双引号,则可以使用转移字符的帮助,如图:
int main()
{
//printf("%s\n",'''); 程序识别前两个单引号,后面那个落单
//printf("%s\n","""); 程序识别前两个双引号,后面那个落单
printf("%s\n",'\''); //我们可以借助\来完成单引号的输出
printf("%s\n","\""); //我们可以借助\来完成双引号的输出
return 0;
}
常用的转义字符
两个特殊的转义字符:
\ddd //ddd表示1-3个八进制的数字。如: \130 X
\xdd //dd表示2个十六进制数字。 如: \x30 0
ASCII码表
一个小练习题:
控制台打印的: c:\test\328\test.c 有多少个字符?
int main()
{
printf("%d\n",strlen("c:\test\328\test.c"));
return 0;
}
\t 算是一个转义字符而\328是两个字符,因为\32算一个8进制数,而8进制只有0-7,满8就进一,所以后面的8是单独的。
所以 c:\test\328\test.c 一共有14个字符
控制台打印:
14