int a = 8,b = 4; int expr = a++%++b*2

神马程序员 2010-04-24 12:16:05
想问一下int expr = a++%++b*2 这句话怎么理解,结果是6,运算符优先顺序是先++,后*,那么应该是(a++)%(++b)*2,结果应该是9%5*2,应该是8的
请给解释一下,thank you!
...全文
90 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sfli_g 2010-04-28
  • 打赏
  • 举报
回复
a++表示先做完这个运算后,在加一

补充回答
libRA_kin 2010-04-24
  • 打赏
  • 举报
回复
a++ 是先输出再自增 ++b是直接自增再输出去
lzsxf11 2010-04-24
  • 打赏
  • 举报
回复
(a++)%(++b)*2 a++是先输出在+1,++b是先+1在输出,所以a为8,b为4+1=5
8 % 5 *2 =6
神马程序员 2010-04-24
  • 打赏
  • 举报
回复
楼上.我的意思是a++不用计算吗
sfli_g 2010-04-24
  • 打赏
  • 举报
回复
8%5*2

62,624

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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