最近写了一段代码类似如下: 

 

 1 #include <iostream>
 2 using namespace std;
 3 
 4 void main()
 5 {
 6     char cTemp[20] = "nihao\nnihao";
 7     cout << cTemp << endl;
 8     cout << "----------------------------" << endl;
 9     // 这里将分两行输出nihao
10     cin >> cTemp;    // 这里输入nihao\nnihao
11     cout << cTemp << endl;
12     // 这里就只有一行\n也没有被转义
13 }

 

当时就纳闷为什么输入的\n无法被识别成回车换行。现在想了想第一次知道转义字符是在学习C语言的时候,想到这里大概就明白了。转义字符是需要经过编译器进行处理才能达到转义的效果,因此不同的语言编译器也可以做出不同的转义。因此上面代码中输入"nihao\nnihao",其中的\n是无法再回到编译器中去处理的。