c - 在 C 中使用 '\n' 和 '\12' 有什么区别

标签 c ascii

换行符 (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/

相关文章:

c++ - 在 C++ 中输出 ascii 表

c - 如何在 vxworks 6.7 中设置 wdb 进行内核前调试?

c - 当尝试为 OS X 10.6 (Snow Leopard) 配置 pcb-2011-018 时,配置报告找不到 openGL 库?

完全关闭c中的文件

c - 在 C 中,实现头文件的最低要求是什么?

php - 如何在 PHP 中将字节数组转换为字符串?

delphi - 如何使用Delphi读取文本文件中的最后一行

python - 在 Python 中查找箭头键的值 : Why are they triples?

c++ - 使用 select() 检测套接字何时断开连接

javascript - 阻止输入英语以外的任何其他字母