C语言对语法进行分析时,采用“贪心算法”,即从左到右一个字符一个字符地读入,如果该字符可能组成一个符号,那么在读入下一个字符,判断已经读入的两个字符组成的字符串是否是一个符号的组成;如果可能,继续读入下一个字符,重复上述判断,只到读入的字符组成的字符串已不再可能组成一个有意义的字符。
需要注意的是,符号中间不能嵌有空白(空格、TAB、回车)。下面的表达式
a---b
与
a-- - b
的含义相同,而与
a - --b
含义不同。同理,
c=a/*b
不会被解释为a/(*b),而是将/*解释为注释。