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

老师,我没看明白

a++ 运行结果不是101吗,为什么还是100?++a运行结果为什么是102?

提问者:weixin_慕九州7564857 2020-03-08 15:35

个回答

  • 慕妹0124731
    2020-03-08 18:55:26

    a++(是先运算再取值,就是a已经运算出来为100,然后再加了1,换句话说,输出值为100,a实际为101)

    ++a(是先取值再运算,a取的101,a再加一,运算出来就是102,换句话说,a实际为102,输出也为102)

  • qq_粉丝哇_erDLNO
    2020-03-08 18:05:33

    int a = 100;头文件就不写了,请勿模仿

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

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

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

    printf("%d\n"a);


    运行结果:100 (先运算后结果,就是a已经加了1变成了101,但是a++这个式子结果没变依旧为100)

                     102   (先结果后运算,++a直接变成了102,a结果也变成了102)

                      104    (此过程不会改变a的值)

                     102