最近写了一段代码类似如下:
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是无法再回到编译器中去处理的。