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

 我来答
843299951
2010-11-19 · TA获得超过458个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:126万
展开全部
(a++)+(++b);
a++=a,a+1;
++a=a+1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FrankHB1989
2010-11-19 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:3028万
展开全部
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.
====
[原创回答团]

参考资料: 原创 + ISO-9899:1999

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
春天还远不
2010-11-19 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:106万
展开全部
在VC中编译时不能通过。但我觉得是这样((a++)++)+b的!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式