三字母词
在使用转义字符之前我们先看一段代码:
#include<stdio.h>
int main()
{
printf("(are you ok ??)\n");
return 0;
}
程序输出的结果:
为什么这个程序不能正常的输出我们想要的(are you ok ??)结果呢?原因在于这几个字符的序列合并起来表示另一个字符——三字母词
三字母词 | 表示字符 |
---|---|
??( | [ |
??) | ] |
??< | { |
??> | } |
由于三字母词的引入正常的想输出:(are you ok ??) 这样的内容就困难了,这时我们需要使用转义字符。
转义字符
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加”\”来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。
转义字符表
转义字符 释义 \? 在书写列续费多个问号时使用,防止他们被解析成三字母词 \’ 用于表示字符常量 ’ \” 用于表示一个字符串内部的双引号 |用于表示一个反斜杠,防止它被解释为一个转义序列符 \a 警告字符,蜂鸣 \b 退格符 \f 进纸符 \n 换行 \r 回车 \t 水平制表符 \v 垂直制表符 \ddd ddd表示1–3个八进制的数字。如:\130 x \xddd ddd表示3个十六进制的数字。如:\x030
例:笔试题 //程序输出什么?
#include <stdio.h>
int main()
{
printf("%d\n", strlen("abcdef"));
printf("%d\n", strlen("c:\test\32\test.c"));//其中32算是1个长度
system("pause");
return 0;
}
程序的输出结果: