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;
}
为什么?并且单引号的'行为类似,是否还有其他特殊处理的标记?