C while(false) 循环

1 c lexical-analysis while-loop

我在看一个词法分析器代码,我遇到了这个:

while ("false")
{
    c = fgetc(f);
    switch (state)
    ...
Run Code Online (Sandbox Code Playgroud)

我测试了它并且代码有效,它产生了正确的结果。如果false有条件,为什么循环运行?循环不应该运行吗?

小智 5

循环将起作用,就像在while(1), while(100), 中一样while("something else")。我觉得这段代码的作者有一种奇怪的幽默感。