我应该将 '\f'、'\v' 视为 .c 文件中的换行符吗?

Should I consider '\f', '\v' as newline characters in .c file?

我正在尝试使用 flex 制作一个 C 程序词法分析器。

我读了 https://en.cppreference.com/w/c/language/translation_phases 并被告知在行合并和分解阶段之前保留垂直制表符 \v 和换页 \f

我应该像 \n 一样将它们视为换行符吗?

期待任何回复,谢谢。

C 标准在第 5.1.1.2 章“翻译阶段”中针对阶段 3 说:

  1. The source file is decomposed into preprocessing tokens and sequences of white-space characters (including comments). [...] Whether each nonempty sequence of white-space characters other than new-line is retained or replaced by one space character is implementation-defined.

由于 \v\f 是 white-space 个字符,是否用单个 space 替换它们取决于您。但是你不应该用 new-lines.

替换它们