黑马程序员技术交流社区

标题: 我有一个问题,求大神,不是特别明白~ [打印本页]

作者: 尼玛个鸡    时间: 2015-9-14 21:50
标题: 我有一个问题,求大神,不是特别明白~
求x,y的值?
int x=4
int y=(x++)+(++x)+(x*10)
求详细~!
作者: duqiang1441    时间: 2015-9-14 23:35
第一个括号,x++整体不变,(x++)等于4,x的值变成5
第二个,++x,x先加1,++x=6,x=6
第三个,x*10=6*10=60
所以y=4+6+60=70,x=6。
作者: 尼玛个鸡    时间: 2015-9-15 21:30
duqiang1441 发表于 2015-9-14 23:35
第一个括号,x++整体不变,(x++)等于4,x的值变成5
第二个,++x,x先加1,++x=6,x=6
第三个,x*10=6*10=6 ...

谢谢大神,忽然就明白了!{:2_44:}
作者: 双元黑马12    时间: 2015-9-15 21:37
长知识了  原来还可以这样
作者: 夏木南生    时间: 2015-9-15 21:42
技术分啊...
作者: BlueWing    时间: 2015-9-15 22:17
so easy。。。后加和先加的区别
作者: 灬王一鹏    时间: 2015-9-15 22:18
..............................明白就好
作者: 俏皮雅轩    时间: 2015-9-15 22:30
结果等于70    x先是4 之后变成5 ,执行++x变成6,最后结果70
作者: xiaoya0o0o    时间: 2015-9-15 22:38
++和--
如果表达式中,只做++或--一件事情,那么前++/--和后++/--效果一样的;
        但如果表达式中做多件事情:
                前++/--:先自增/自减,然后再参与表达式的其它运算;
                后++/--:先参与表达式的运算,然后在自增/自减;
int x=4;
int y=(x++)+(++x)+(x*10);
1)先进行x++,x参与表达式的其它运算不变,x++=4但x变为5
2)(++)x是先将x自增再参与运算此时++x=6, x变为6
3)所以x*10=60
4)y=4+6+6*10=70
5)所以 x=6,y=70




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