新手关于优先级的问题

kingofud2007 2008-02-18 06:33:33
(*pa)+++*pb是等于((*pa)++)+*pb还是等于(*pa)+(++*pb)能告诉我为什么吗,想了很久也不明白!谢谢
...全文
108 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
visame 2008-02-18
  • 打赏
  • 举报
回复
(*pa)+++*pb是等于((*pa)++)+*pb
应该应用所谓的“贪婪法则”,从左往右寻找最大的正确的组合
baihacker 2008-02-18
  • 打赏
  • 举报
回复
顺便加一句,不要写这种从语法上讲无歧义,但是从理解上可能有歧义的代码
baihacker 2008-02-18
  • 打赏
  • 举报
回复
从左往右扫描
( * pa ) + + + * pb
1 2 3 4 5 6 7 8 9
第五个符号为+,第六个符号为+
尝试把第五个符号和第六个符号看在一起
( * pa ) ++ + * pb
1 2 3 4 5 7 8 9
生成语法树
无错
故采取此种解析

由于是从左往右扫描的...在成功解析后就返回......所以表现为从左往右结合

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧