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

为什么int a=100,printf(“%d\n”,a++)的输出不是101

为什么int a=100,printf(“%d\n”,a++)的输出不是101

提问者:weixin_慕虎5150247 2020-03-27 17:08

个回答

  • 那就慢慢来
    2020-04-02 14:22:03

    a++是指 a先参与运算之后,自己加1;

    ++a指a先加1再参与运算

  • 蔚然成风LL
    2020-03-27 17:48:10

    便于理解,a++为暗中加一,不表示出来。++a明目张胆的加一,且表示出来

  • 蔚然成风LL
    2020-03-27 17:47:01

    a++相当于a自增1但没有表示出来,表示的是原来的值
    ++a相当于a自增1且表示出来。
    #include <stdio.h>
    int main()
    {
    int x=100;
    printf("%d\n",x++);//计算表示出来为100,a=101
    printf("%d\n",++x);//101+1为102。计算表示为102,a为102
    printf("%d\n",x+2);//计算表示为102,a值不变为102
    printf("%d\n",x--);//同理,计算表示为102,a=101
    printf("%d\n",--x);//计算表示为100,a=100
    return 0;
    }