我已经厌倦了使用flex条件变量的一个非常简单的示例。
根据我的理解,当我输入“ magic”作为输入时,根据不同的条件,它应该打印出不同的字符串,例如“ first”,“ second”。
但是,当我键入magic时,它仅输出“ magic”,这使我感到非常困惑。
%START AA BB CC
%%
^a {ECHO; BEGIN AA;}
^b {ECHO; BEGIN BB;}
^c {ECHO; BEGIN CC;}
\n {ECHO; BEGIN 0;}
<AA>magic printf("first");
<BB>magic printf("second");
<CC>magic printf("third");
最佳答案
输入字符串应为“ amagic \ n”
而不是“ a \ n”->“魔术\ n”
因为每次输入“ \ n”,标志都会再次设置为0。
关于c - Flex启动条件意外结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51470717/