c语言里a+++++b的含义是什么

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 14:55:19
c语言里a+++++b的含义是什么c语言里a+++++b的含义是什么c语言里a+++++b的含义是什么C在这里遵循词法解析的贪婪匹配原则:优先匹配尽可能多字符的符号,无论是否有语法错误(因为词法分析时

c语言里a+++++b的含义是什么
c语言里a+++++b的含义是什么

c语言里a+++++b的含义是什么
C在这里遵循词法解析的贪婪匹配原则:优先匹配尽可能多字符的符号,无论是否有语法错误(因为词法分析时还没有语法检查).
于是a+++++b会被当作a ++ ++ + b而不是a ++ + ++ b(可能是合法的)考虑.这是非法的表达式,因此产生编译错误.
这个问题在ISO C99标准中直接以示例描述,原文如下:
6.4
6 EXAMPLE 2 The program fragment x+++++y is parsed as x ++ ++ + y,which violates a constraint on
increment operators,even though the parse x ++ + ++ y might yield a correct expression.
====
[原创回答团]