对例题的a++和a--和--a的结果不解

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

Muzeebob

2015-12-04 20:12

对例题的a++和a--和--a的结果不解

写回答 关注

2回答

  • 请叫我大树
    2015-12-04 20:52:24
    已采纳

    我改一下代码比较好理解

    #include <stdio.h>

    int main()

    {

        int a =100,b,c,d,e;

        b=a++;  //①

        c=++a;  //②

        d=--a;  //③

        e=a--;   //④

        printf("%d\n",b);

        printf("%d\n",c);

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

        printf("%d\n",e);

        return 0;

    }

    事实上它程序运行时是这样的,进行①时可分为b=a;a=a+1;  此时得b=100   a在程序中的默认值则变为了a=101

    然后②时 可拆成 a=a+1; c=a;  即先运算再取值,所以a=101+1=102  c=102    进行③时同理此时得a再程序中是102的,进行a=a-1;b=a; 所以a=101  b=101然后进行④时为e=a; a=a-1;  所以得e=101  a=100 


    熊猫竹

    第3步的时候应该是把b换成d吧

    2016-10-22 20:51:04

    共 2 条回复 >

  • 流浪_老
    2015-12-04 22:56:41

    a=100  b=a++;第一个 先用a的值赋给b  然后a在自增  a=101 b=100 

     第二个   c=++a;先自增 再把值赋给c  因为a在上一个式子已经等于101了所以自增后a=102  c=102 

     第三个  d=--a; 先自减  再赋值给d   a=101   d=101

     第四个 e=a--;先赋值给e 再 自减    e=101   a=100 



    ++a --a因为运算符号在前 所以先 自增 或自减 在使用a的值   a--   a++  因为运算符在后面 先使用 在 自增或自减

C语言入门

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

926021 学习 · 20793 问题

查看课程

相似问题