因此,在翻阅 C99 标准的 n869 草案时,我偶然发现了这一节:
6.10.7 空指令语义
形式的预处理指令
# new-line
没有效果。
所以,我写了这个程序来测试它:
#
#include <stdio.h>
#
int main(void)
{
puts("Hello, world!");
return 0;
}
果然gcc
,即使我一路发出警告等等,我也对这段代码没有任何不满。我意识到该语言中还有一些其他不明显的结构,例如初始化程序中允许的额外逗号、枚举定义等,但这是有目的的(例如,简化了代码生成器的编写)。
但是,我看不出这个有什么用。任何人都可以想到一个合理的用例/理由吗?