大嘴法,又称贪心法:
c语言某些符号,例如/ * = 只有一个字符长,称为单字符符号
/* 和 ==这些成为多字符符号,当c编译器在读这些符号的时候,它就会判断这些是要合起来还是分开来对待。这里面就有一个简单的规则,每一次尽可能包含多个字符,那么在读入会判断,直到读入的字符组成的字符串也不再可能组成一个有意义的符号。
如果(编译器的)输入流截止至某个字符之前都已经被分解为一个个符号,那么下一个符号将包括从该字符起之后可能组成一个 符号的最长字符串。也就是说,每一个符号应该包含尽可能多的字符。换句话说,编译器将程序分解成符号的方法是,从左到右一个字符一个字符地读入 ,如果该字符可能组成一个符号(符合语法的前提下尽可能多),那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否可能是一个符号的组成部分,如果能继续读入下一个字符,重复判断,直到读入的字符组成的字符串已不再可能组成一个有意义的符号。
ps以上内容为网上看到的文档和自己的理解,如有错误还请指正!!
【大嘴法】
最新推荐文章于 2022-11-15 15:18:56 发布