b                  k              next op
                    1              (++k)
 2                  2              (++k) + k
 4                  2              k++
 4                  3              ++k
 4                  4              (++k) + k++ + (++k)
 8

解决方案 »

  1.   

    我不是有意这样问的,我是看SCJ 论坛资料里有这样的问题才问的,
    你以为我想问呀,,,到时考试不知道就惨了。
      

  2.   

    ++k 是先把k自增,再付值运算;k++ 是先把k的值付值运算后,再把k的值自增;所以:b=(++k) + (k++) + (++k) 应这样的到结果:     1:b=2+(k++) + (++k)//此时k为2;     2:b=2+2+(++k)//此时k为3;     3:b=2+2+4//此时k为4;     4:b=8
      

  3.   

    虽然我帮你解答了这个问题,但我还是要声明我的立场:最好不要使用这样的编程语句,不好懂, orange2002(orange) 说的很对啊!
      

  4.   

    这个答案是对的,不过C语言不同,它好像先扫描整句表达式,
    先运算两个 ++K,然后在两个相加,再运行K++。
      

  5.   

    哎,这个问题,会根据你安装的jdk,出来不同的答案的