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

为什么第二个a的输出会是102?

如题所示  题目

提问者:渊默学编程 2019-02-19 20:15

个回答

  • 咋咋唬唬赵大虎
    2019-02-19 22:41:07
    已采纳

    #include <stdio.h>

    int main()

    {

        int a =100;

        printf("x=%d\n",a++);

        printf("x=%d\n",++a);

        return 0;

    }

    100 //注意:a++是<取后,再运算>

    102 //注意:++a是<运算后,再取>

    注意:程序显示的是<>的信息

              所以a++取<值100>,所以显示<值100>,再运算<100+1>,实际上值已经是101了。

              ++a运算<101+1=102>后,再取<值102>,所以显示<值102>


  • 慕后端6036765
    2019-02-20 13:02:59

    printf("x=%d\n",a++);      // a++是前置形式,a的值使用后递增1,屏幕打印出来x=100,然后a=101

    printf("x=%d\n",++a);     //++a是后置形式,a的值先递增1,变成a=102, 然后屏幕打印出来x=102