问答详情
源自:3-3 自增与自减运算符

为什么第四行是101,而不是100呢?求大神指教

运行结果

100

102

101

101//第四行我认为是100啊,为什么是101,是编辑打错了,还是正确答案就是101

101

100

5492b925000133c704060208.jpg

提问者:qq_h_119 2018-12-18 16:25

个回答

  • 慕用7022031
    2018-12-21 22:41:54

    #include

    int main()

    {

    int a=100;

    printf("%d\n",a++);//输出a=100,再加一,循环向下个指令

    printf("%d\n",++a);//a先加一,再输出,a=102;循环向下个指令

    printf("%d\n",--a);//a先减一,再输出,a=101;循环向下个指令

    printf("%d\n",a--);//先输出a=101;再减一;循环向下个指令

    printf("%d\n",a+1);//a+1直接运算后输出;a=101;循环向下个指令

    printf("%d\n",a);//输出a的值

    return=0;

    }

  • 慕莱坞11985
    2018-12-20 09:51:06

    ++a,是先执行在使用;a++是先用后加。--a和a--也是一样。所以,第四行是先打印101后在减一。

  • 慕丝9183396
    2018-12-18 16:43:27

    第三行输出结束后a=101,第四行a--是先输出a再自减输出完后a才变为100

  • qq_渣渣_jAFRS7
    2018-12-18 16:37:27

    第三行输出结束后a=101,第四行a--,是先输出a再自减,所以输出的是101,输出完后a才变为100