黑马程序员技术交流社区

标题: 经典面试坑人题 [打印本页]

作者: 佳斌    时间: 2015-8-26 23:16
标题: 经典面试坑人题
class TestDemo
{
        public static void main(String[] args)
        {
                int a=2;
                int b=(a++)+a;
                System.out.println(b);
        }
}
大家猜b的结果是多少?
作者: 寰宇天侠    时间: 2015-8-26 23:22
老龚的学生??今天刚讲过是吧哈哈~
老龚说(a++)+a,右边那个是3  所以是5
作者: 佳斌    时间: 2015-8-26 23:39
寰宇天侠 发表于 2015-8-26 23:22
老龚的学生??今天刚讲过是吧哈哈~
老龚说(a++)+a,右边那个是3  所以是5

是的,老龚说好东西只讲给我们听

作者: 寰宇天侠    时间: 2015-8-26 23:43
佳斌 发表于 2015-8-26 23:39
是的,老龚说好东西只讲给我们听

我擦   你一下子就加20黑马币了  TAT
作者: 寰宇天侠    时间: 2015-8-26 23:47
佳斌 发表于 2015-8-26 23:39
是的,老龚说好东西只讲给我们听

看来我也要贴老龚的作业出来赚币了TAT
作者: qiaozengji668    时间: 2015-8-26 23:52
顶一下!!!
作者: zhuhuihui    时间: 2015-8-26 23:54
……这个题
作者: 肚小糖    时间: 2015-8-27 08:33
哈哈,猜对了,是5
作者: zhao1991    时间: 2015-8-27 08:35
5啊,很简单的
作者: heima_cy    时间: 2015-8-27 09:21
这么简单 5 啊
作者: 血马雄风    时间: 2015-8-27 09:52
结果是4, (a++)+a是一个表达式
作者: 血马雄风    时间: 2015-8-27 09:53
为啥是5啊,怎么解释
作者: 血马雄风    时间: 2015-8-27 09:57
(a++)+a是一个表达式,所以外面的a是2;(a++)又是一个表达式,所以a在括号外变成了3?
作者: hkxnk    时间: 2015-8-27 10:03
默默的点个赞
作者: 佳斌    时间: 2015-8-27 22:06
血马雄风 发表于 2015-8-27 09:52
结果是4, (a++)+a是一个表达式

答案是5
作者: 佳斌    时间: 2015-8-27 22:07
血马雄风 发表于 2015-8-27 09:57
(a++)+a是一个表达式,所以外面的a是2;(a++)又是一个表达式,所以a在括号外变成了3? ...

与括号无关
作者: kuikui    时间: 2015-8-27 22:10
面试题,学习了
作者: ccd    时间: 2015-8-27 22:17
5吧,前面的a是2后面的a是3加起来是5,对不对
作者: shdosh    时间: 2015-8-27 22:46
受教了!
作者: 18734903493    时间: 2015-8-27 22:57
肯定是5喽!!
作者: michael_wlq    时间: 2015-8-27 22:59
楼主解释下吧。。。
作者: 代晃    时间: 2015-8-27 23:03
刚开始以为是4,运行了是5,应该是后面的a是3,
作者: xingui66    时间: 2015-8-28 14:28
哎,坑人的题,看过评论才想通:(a++)为2,(之后加1了),所以再加上后边已经变成的3,,最后等于5
作者: t_lins    时间: 2015-8-28 14:48
坑到家去了




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