请解释书中的这句话'The C Programming Language'第192页



"如果输入流已被分隔为多达给定字符的令牌,则下一个令牌是可能构成令牌的最长字符串。">

以下是我对此的解释:

假设我输入一个字符串"abc xyz",那么这个输入中会有两个令牌,"abc""xyz",所以"abc""xyz"之间用空格隔开,而"xyz"是可以构成令牌的最长字符串。

我想知道我对此的理解是否正确?

是的,你基本上是对的,但上下文不同。具体来说,这与"输入"无关。

您所指的章节描述了预处理阶段源文件的"词汇约定"和标记化。

只是为了澄清,引用"词汇惯例"中"标记"一章中与相关的部分

空白、水平和垂直选项卡、换行符、表单提要和注释下面描述的(统称为"空白"(被忽略,除非它们分隔标记。需要一些空白来分隔其他相邻的标识符、关键字和常量。

如果输入流已被分隔为多达给定字符的令牌,则下一个令牌是可能构成令牌的最长字符串。

因此,不仅仅是"空格"字符,令牌可以由任何空格元素分隔,如上所述。在这种情况下,是的,它是"空格"((字符。

最新更新