换行符 (LF) 的 ASCII 代码编号为 10。'\n'
的实现是否不仅仅是简单的不可打印的 ASCII 字符?
是否有任何 C 语言特定的细节?
最佳答案
字符常量 '\n'
表示 C 标准中所谓的“换行”字符。
标准没有说明该字符的值是什么。在使用基于 ASCII 的字符集(包括 Unicode)的系统上,它恰好是 10 (LF
)——但 C 标准不需要 ASCII。 (从 1999 年标准开始,实现可能通过预定义 __STDC_ISO_10646__
表明它们支持 Unicode,但这是可选的。)
例如,IBM 大型机系统使用不同且不兼容的字符集,称为 EBCDIC .在这样的系统上,'\n'
的值不是 10。
顺便说一句,(问题已更新以更正此问题。)'\10'
的值为 8,而不是 10。该语法使用八进制(基数 8),而不是十进制。字符 10 表示为 '\12'
(或十六进制的 '\xa'
)。
关于c - 在 C 中使用 '\n' 和 '\12' 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25063171/