在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)视为单个令牌。这是洛杉矶的财产。