Vla*_*cow 5 c whitespace preprocessor language-lawyer
在 C 标准的章节中6.4 Lexical elements写着
- ...预处理标记可以用空格分隔;它由注释(稍后描述)或空白字符(空格、水平制表符、换行符、垂直制表符和换页符)或两者组成。
可以看出,回车符不包括在空白字符的概念中。
另一方面,在标准 C 函数的描述中isspace写有 ( 7.4.1.10 The isspace function)
- ...标准空白字符如下:空格 ('')、换页符 ('\f')、换行符 ('\n')、回车符 ('\r')、水平制表符 ( '\t')和垂直制表符('\v')。在“C”语言环境中,isspace 仅对标准空白字符返回 true。
在描述预处理的部分中是否故意未提及回车符?如果是,原因是什么?
或者这只是标准的缺陷?
同样的问题对于 C++ 标准也有效。
| 归档时间: |
|
| 查看次数: |
3163 次 |
| 最近记录: |