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

赋值a=100 a++不是a+1=101么 ++a也等于a+1=101么 --a 不应该100-1=99么 那下面的结果是怎么算出来的 有程序猿朋友解答一下么?

这个要怎么理解啊 没看懂

提问者:慕粉3714955 2017-06-17 04:02

个回答

  • itme_BJV
    2017-06-17 13:47:58

    你得理解++a,跟a++的原理。a++是下次出现a的时候+1,++a是立刻在此公式里面+1;所以可以看到100a++      ++a结果为2,但是第一次100a++,确是100。因为a++出现作用是下一次。a--跟--a也是同理。我也是麻瓜,所以请一起加油。

  • qq_Blach魅_0
    2017-06-17 12:17:54

    我说一下我们老师的讲法  a++是先取值a原来的值走流程(即a值直接参与你的运算),当过程结束后才有a=a+1,                            ++a是是先运算后取值,即a立即+1,然后再走下面的流程。

    举个例子 

    int x = 0;
        printf("x=%d\n",x++);
        printf("x=%d\n",++x);
        return 0;
    }

    结果就是

    x=0

    x=2

    满意请采纳回答,祝你学习进步


  • ClPotassium
    2017-06-17 11:31:44

    首先看不到你的图,也不知道你指的是哪张。

    a++取值后自加1;

    ++a先自加后取值;//--同理

    int a=100;

    printf("%d\n",a++);//先打印a的值100,之后a=a+1=101;

    printf("%d\n",++a);//先自加a=a+1=102,printf打印a的值102