热心网友老刘 2021-04-24 21:59 采纳率: 0%
浏览 34

++a不是运行后再加嘛,为什么结果是是212

int a =1, b,c;
        a=b=a++;
        System.out.println(a+" "+b);//11????
        c=a++ + b;
        System.out.println("abc分别为"+a+" "+b+" "+c);//212

  • 写回答

3条回答 默认 最新

  • compasslg 2021-04-24 22:07
    关注

    a++是返回原值,再加1,++a是先加1,再返回新的值

    第一步a++返回1,再加1,但是返回值被赋值给a和b后又会覆盖原本的a,所以a,b都是1。

    第二步a++返回1,b也是1,所以c=1+1=2,a的值返回以后计算加1,所以a=2,b不变,还是1

    评论

报告相同问题?