问我正在将用户输入的字符串读入一个数组,然后在以后打印它们。当用户输入类似以下的序列时\n,为什么它没有被正确处理?
答像这样的字符序列\n会在编译时被解释。当反斜杠和一个相邻的n出现在字符常量或字符串文字中时,它们会立即被翻译成一个单独的换行符。(当然,其他字符转义序列也会进行类似的翻译。)然而,当您从用户或文件读取字符串时,不会执行这种解释:反斜杠会被读取和打印,就像任何其他字符一样,没有任何特殊解释。
(在运行时 I/O 期间可能会对换行符进行一些解释,但这有完全不同的原因;请参阅问题 12.40。)
另请参阅问题 12.6。
其他链接:进一步阅读