黑马程序员技术交流社区

标题: 若x=2,则表达式(x++)/3的值。。为什么是0? [打印本页]

作者: 450425779    时间: 2015-8-25 18:11
标题: 若x=2,则表达式(x++)/3的值。。为什么是0?
按理说小括号拥有最高优先级,应该会先计算括号里面的内容,再向下计算不是吗?那么结果应该是1而不是0啊?
作者: a496668151    时间: 2015-8-25 18:18
你没弄清楚 ++x和 x++的区别  ++x代表的是先对x+1 然后在应用x   
x++是相反的 所以说你还是用的2/3又因为是整数相除就变成了0了
你用++x 应该就是1了
作者: jeska    时间: 2015-8-25 18:18
x++先用x参与运算,然后再自增
作者: 450425779    时间: 2015-8-25 18:19
a496668151 发表于 2015-8-25 18:18
你没弄清楚 ++x和 x++的区别  ++x代表的是先对x+1 然后在应用x   
x++是相反的 所以说你还是用的2/3又因为 ...

这个我知道,但是不是应该先运行的是括号里面的数据吗?那么即使是x++也应该是先计算x++再计算后面的啊?
作者: 450425779    时间: 2015-8-25 18:21
jeska 发表于 2015-8-25 18:18
x++先用x参与运算,然后再自增

但是有括号不是应先计算括号里面的内容吗
作者: 氕氘氚    时间: 2015-8-25 21:30
()是用来提升优先级的, ++的优先级已经比/高了, (x++)/3和 x++/3 的效果是一样的
作者: Vincent饭饭    时间: 2015-8-25 21:40
自加运算符:
x++先运算后加
++x先加后运算
(x++)/3相当于2/3
整形相除,值为0,楼主加油一起学习!
作者: 450425779    时间: 2015-8-25 21:41
氕氘氚 发表于 2015-8-25 21:30
()是用来提升优先级的, ++的优先级已经比/高了, (x++)/3和 x++/3 的效果是一样的 ...

懂了,谢谢
作者: suichuan689    时间: 2015-8-25 21:59
首先呢得说明一下,同学你没有把前自增,后自增搞明白。
作者: suichuan689    时间: 2015-8-25 22:00
先好好理解一下前自增和后自增的区别吧
作者: 血马雄风    时间: 2015-8-26 10:09
(x++)/3是一个表达式,即先2/3,后+1




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2