关于a++是怎么运算的

运算符++是怎么计算的呢,我自己感觉     a应该为2  c是3

但是输出后a=3,c=2

int main()
{
    int a = 2;
    int c ;
    c = a++;
    printf("Line 1 - c 的值是 %d\n", a);  //3
    printf("Line 1 - c 的值是 %d\n", c);//2
}

前++(++a):先将变量自增一,然后在做其他运算;

后++(a++):先将变量作运算,然后再进行自增一。

 

c = a++;

解析:

先将a赋值给c,然后a在进行自增,所以是c == 2,a == 3.

c = ++a;

解析:

a先自增1,然后再将自增1后的a赋值给c,所以是c == 3,a == 3.

++是自增运算符,++在变量前:++a表示a先自加1,再用;++在变量后:a++表示先用a,a再增1。int a = 2;  int c;  c=a++;所以a的值先赋值给c,最后a变量才自增1。