在c语句中计算标记
以下C语句中的标记数。
printf("i = %d, &i = %x", i, &i);
我想这里有12个令牌。 但我的回答是错误的。
谁能告诉我如何在上述C语句中找到令牌?
PS:我知道令牌是源程序文本,编译器不会将其分解为组件元素。
据我了解C代码解析,令牌(总共10个):
printf ( "i = %d, &i = %x" , i , & i ) ;
我不计算空格,它通常没有意义,只能作为其他标记之间的分隔符,我不会将字符串文字分解成碎片,因为它是它自己的一个完整实体。
这看起来非常像学校作业或其他东西,但取决于空白是否计数:10或12(或13,如果空白计数和结束换行)
'printf' '(' '"i = %d, &i = %x"' ',' 'i' ',' '&' 'i' ')' ';' 1 2 3 4 5 6 7 8 9 10
是的,总共10个令牌。因为用引号表示的字符可以被词法分析器(LA)视为单个令牌。这是洛杉矶的财产。