忽略C表达式中的空格的规则

Raj*_*esh 3 c whitespace

在许多C表达式中,忽略空格(例如:在**b的情况下,其中b是指针,忽略空格).但在少数情况下,他们不容忽视.我们在x +++ y和相关(操作符中的c ++空间,规则是什么)上获得了很多SO帖子.我知道x +++ y的确意味着(x ++)+ Y,因为postfix的优先级更高.x ++ + y和x + ++ y之间也存在差异.因此,在c表达式中并不总是忽略空格.我想知道表达式中空格的规则是什么.在哪里定义?什么时候不被忽视?是两个运算符一个接一个地特别增加/减少运算符的时候?

gna*_*729 6

空格仅与创建令牌相关.+和++都是有效的令牌.在C中的规则是,将令牌从将创建一个有效的标记字符的最长序列,而"+ +"与一个空格字符变成两个形成,从而"++"没有空格成为一个单一的"++"令牌" +"代币.由于没有"+++"标记,"+++"变为"++"标记,后跟"+"标记.