运算符++是怎么计算的呢,我自己感觉 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。