第一句:a=2,b=3,c=1
第二句:b=3,c=1,a=2+3+1=6
第三句:b=3,c=1-(6+1)=-6,a=7

解决方案 »

  1.   

    come on,考这种问题的公司一定很煞笔--b → b=2
    b+c=3
    a=a+3 → a=5b+a=7
    c=c-7 → c=-6
    a++ → a=6所以最终结果是a=6,b=2,c=-6
      

  2.   

    见鬼:
    第一句:a=2,b=3,c=1
    第二句:b=2,c=1,a=2+2+1=5
    第三句:b=2,c=1-(5+2)=-6,a=6
      

  3.   

    第一句:a=2,b=3,c=1
    第二句:b=2,c=1,a=2+2+1=5
    第三句:b=2,c=1-(2+5)=-6,a=6
      

  4.   

    那么再问:c-=b+a++;--------------
    这句,为什么先算b+a而不是a++
    运算符里++的优先级比+高,是为什么
    看大家都是最后才算++
      

  5.   

    问题就出在A是后++,所而先算b+a
      

  6.   

    christian_dindin:
    如果按你所说,第二句里++的确是第一个做的,那么c的最后结果应该是-7吧,呵呵,同意 jFresH_MaN()()()()()()()()() 的观点
      

  7.   

    第三句是先 +a后a++,如果是++a则是你所说得!
      

  8.   

    没意思,谁没事去写这种代码。
    而且这种代码的执行结果有时候跟编译器有关。只是Java似乎还没有出现这种情况,但C已经出现这种情况了。
      

  9.   

    同意楼上的,这公司太无聊了
    先右后左
    a+=--b+c算完后a=5,b=2,c=1
    c-=b+a++算完后a=6;a=6,b=2,c=-6
    a="+a+",b="+b+",c="+c算完后a=7,b=3,c=-6
      

  10.   

    看看这个:
    http://community.csdn.net/Expert/topic/3568/3568291.xml?temp=.0429346