如果我写一个像(在c中)的代码
x=1;
z=2;
y=x---z;
将前两个 - 被视为后减法,后来一个被视为减法
或第一个 - 将被视为减法,其他两个将被视为预减法
如果我放一个空格使其成为另一个(因为在c程序中不会被空格改变)该怎么办
答案 0 :(得分:6)
根据C11
标准,章节§6.4,词汇元素,(强调我的)
如果输入流已被解析为预处理令牌,直到给定的字符,那么 下一个预处理令牌是最长的字符序列,可以构成一个 预处理令牌。 [..]
所以,
y=x---z;
是
y= (x--) - z;
这也称为Maximal munch规则。