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

来源:3-3 自增与自减运算符

weixin_慕虎5150247

2020-03-27 17:08

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

写回答 关注

3回答

  • 那就慢慢来
    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;
    }

    蔚然成风LL

    这个我搞错了那个x+2,计算表示应该为104。刚刚打快了

    2020-03-27 17:48:58

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题