- 转义字符的作用
在C/C++ 中,有一些字符是没办法直接输入或者表示的,此时就需要转移字符了 。
- 常用的转义字符
其中,单引号,双引号,问号,反斜杠 都需要转义字符,但是在平时输出的时候,发现,反斜杠和问号都可以正常输出,这是因为C标准允许这么做,因此 ? 和 / 可以代表自己本身的意义。
cout << " how are you? \?" << endl;
输出的是 how are you??,两种模式都可以正常输出 ?。 反斜杠同理。
对 \ddd 与 \xhh 进行解释,
\ddd 的意思是, 在斜杠后面 用3位的八进制字符表示,也可以代表此时的ASCII值。 如果八进制表示不到三位,例如 '\n',既可以用'\012' 也可以用 '\12'。
\xhh 的意思是,在斜杠后面 用 x 和 2位的十六进字符表hi,也可以代表此时的ASCII值。
#include <iostream>
using namespace std;
int main()
{
char ch = '\n';
if (ch == '\n') {
cout << "yes" << endl;
}
return 0
}
//等同于判断 ch == '\012' 什么意思呢,就是字符也可以用这种方法表示
//等同于判断 ch == '\x0a'
//ch == 10 什么意思呢,因此字符到计算机内也是用ASCII码表示,因此也可以用数字进行判断比较
//ch == 012 八进制
//ch == 0x0a 十六进制
- 八进制,十六进制的表示方法
在上面的例子中,有用到 八进制十六进制去比较字符,因此在此明确一下 十六进制,八进制的表示
表示一个十进制,前面没有任何前缀
表示一个八进制,前面必须加 数字 0,,,输出的时候,是字母o, printf("%o",ch);
表示一个十六紧致,前面必须加 0X 或者 0x,,同时,组成它的 字母也不区分大小写。但是在输出时候,有大小写之分。当 %x,则输出的十六进制是小写字母,当时 %X,输出的是大写字母。