大概這樣理解就對了
#include <stdio.h>
int main()
{
? ? int a = 100;
? ? int x = 0;
? ? printf("a=%d\n",a++);//a取值100,顯示100但a運算結(jié)果為101
? ? printf("a=%d\n",++a);//a先運算,101+1,再取結(jié)果就是102.
? ? printf("a=%d\n",--a);//a先運算,102-1,取結(jié)果就是101
? ? printf("a=%d\n",a--);//a先取值101,所以顯示101,但結(jié)果100
? ? printf("a=%d\n",a+1);//a=100再加上1,所以顯示101
? ? printf("a=%d\n",a);//a=100
? ? printf("x=%d\n",x++);//x取值0,再運算0+1,結(jié)果為1顯示0.
? ? printf("x=%d\n",++x);//x先運算1+1=2,再取值2,顯示2.
? ? return 0;
}
2018-08-03
a++可以理解為b=a++,如a=5,先取值b=a即b=5,然后再運算a=a+1即a=6 ; 同理++a可以理解為c=++a,如a=6,先運算a=a+1即a=7,然后再取值c=a即c=7? ????????????????????????????????????????????????????????????