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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 03:54:49
c语言里a+++++b的含义是什么

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.
====
[原创回答团]