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

搞不懂 自增 增哪了

单独写一个

#include <stdio.h>

int main()

{

    int a = 100;

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

return    0

}                  结果还是100    说好的自增呢   不是说

a++还是++a都等于 a=a+1吗  既然a得值是100  结果不应该是a=100+1    所以 a=101的吗

提问者:慕工程5151769 2018-12-31 23:00

个回答

  • 慕前端242198
    2019-01-01 07:59:27
    已采纳

    a++ 是取值后在运算 所以 a=100 ,

  • qq_慕仰3335730
    2019-01-23 11:29:44

    例如:C语言中a=1,a=a+++1,a+++1这两个有什么区别,前者值是3,后者是2

    a=a+++1:先a++,a变为2 (即这个a++完了以后,a已经变成了2),然后开始2+1,然后再将2+1赋给a;
    而a+++1:则是先a++,即a变成了2,然后加1,因为加1后并没有赋值给回a,所以a还是2。

    因为你的表达式中a没有将取得的值再一次赋值给回a,但如果你是++a,那么程序中的结果就是101了

  • qq_慕神645887
    2019-01-11 13:56:29

    首先a++是输出a=100在加1,所以第一个结果是100,但运行下条语句时a的值已经是101了