int main(void)
{
#if 0
something"
#endif
return 0;
}
上面的一个简单程序会产生一个警告:missing terminating " character
在 gcc 中。这看起来很奇怪,因为这意味着编译器允许代码块之间#if 0
存在endif
像这里这样的无效语句,但不允许不配对的something
双引号。"
和的使用也是#ifdef
如此#ifndef
。
真实的评论在这里很好:
int main(void)
{
/*
something"
*/
return 0;
}
为什么?并且单引号的'
行为类似,是否还有其他特殊处理的标记?