在使用printf打印时会经常用到\n来进行换行,这里的\n就属于转义字符,还有其他一些转义字符,下面来介绍一些常用的。
字符 | 释义 |
\' | 表示字符' |
\" | 表示字符" |
\\ | 表示字符\ |
\n | 换行,当光标移到下一行,有些编译器\n就可以回车加换行 |
\r | 回车,将光标移到当前行的开头,有些编译器需要用\r\n来回车加换行 |
\t | 水平制表符,相当于tab |
\ddd | 表示1~3个八进制的数字 |
\xdd | 表示2个十六进制数字 |
下面用一些例子来解释一下:
如果要打印单引号,双引号同理
printf("%c",''');//这样会把前面两个单引号配对,不能正常打印
printf("%c",'\'');//这样才能把中间的单引号转译成单引号字符
如果要打印c:\test.c
printf("c:\test.c");//这样会把\t看成水平制表符,会打印c: est.c
printf("c:\\test.c");//这样才能把\变成字符\
printf("%d\n", '\130');//\130表示八进制的130,转化为十进制是88,会打印88
printf("%c\n", '\130');//ASCII码88表示字符X,会打印X
//前面的0会忽略掉
printf("%c\n", '\x063');//打印c,十六进制的63是c的ascll码
printf("%d\n", '\x063');//打印99,十六进制63转十进制是99
printf("%c\n", '\x00000003a');//打印:十六进制3a是:的ascll码
printf("%d\n", strlen("c:\test\628\test.c"));//打印14,\t是一个字符,\62是一个字符,因为是八进制,后面的8不会被转化