C99,"尽管名称,非指令是一个预处理指令."

Joh*_*itb 6 c c99 c-preprocessor

标题中引用的脚注是什么意思?这是6.10.3p11的脚注

如果参数列表中存在预处理标记序列,否则它们将充当预处理指令,147)行为未定义.

我检查了一下,发现了

预处理指令由一系列预处理令牌组成,这些令牌以#预处理令牌开头......

而且我没有找到非终端non-directive匹配的语法.它可以但不必从#预处理令牌开始.那么我们不得不说以下内容吗?

"尽管名称,预处理指令是非指令."

此外,该脚注的目的是什么?

APr*_*mer 7

http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_250.htm这是为了澄清

#define nothing(x) // Nothing    /* Case 1 */
nothing (
#nonstandard
)
Run Code Online (Sandbox Code Playgroud)

是UB.