转义字符
例:
int main()
{
printf("c:\test\test.c");
printf("%c\n",'\'');//这里要想打印出字符是单引号的话,表达方式是在 单引号里面加上斜杠和一个单引号。(例如:\')
printf("%s\n","abc");
printf("%s\n","a");//这里用的是%s,而%s表示的是打印字符串,%c是表示打印字符的。当你用%c去打印字符串时,系统会出示警告,而且得到的结果也并不是你想要的。
printf("%s\n","\"");//这里要想打印出字符是双引号的话,表达方式是在双引号里面加上斜杠和一个单引号。(例如:\”)
return 0;
}
上面这段代码打印出的结果,会是什么???
**提示:**想要打印出来双引号或者单引号,可以在单引号里面写上双引号或者双引号里面写上单引号。
int main()
{
printf("c:\\test\\test.c");//要想内容完整打印出来,可以在制表符前面多加上一个反斜杠,就可以将转义字符给他取消掉了,从而可以顺利将内容打印出来,可以理解我套娃行为。
return 0;
}
转义字符–特殊两个字符
int main()
{
printf("%c\n",'\130');//打印结果是X,因为是将八进制的130转换成了十进制时为88,而十进制的88中在ASCII码中对应的字符是大写的X。
printf("%c\n",'\101');//A - 65 - 8进制是:101
printf("%c\n",'\x30');x后面的30代表的是十六进制的数字对应的十进制是48。十进制的48对应的字符是'A'。
return 0;
}
例题
#include<stdio.h>
int main()
{
printf("%d\n",strlen("abcdef"));//打印的长度为6
printf("%d\n",strlen("c:\test\328\test.c"));//打印的长度为14,这里的\328可以看作是一个1到3位的八进制,所以可以将这里\32解析成一个转义字符,为什么8没有当成转义字符,因为八进制中是不允许有8的,逢8进1.
return 0;
}