自增自减运算符
I++ 先使用i, 然后i=i+1
i—先使用I, 然后i=i-1
++i 先i=i+1然后使用i
--i 先i=i-1 然后使用i
以下使用VC下调试的结果, 不同的编译器可能有不同的结果。
I=3;
例1
Printf(“%d”,++i)
结果输出4
例2
Printf(“%d”, i++)
结果输出3
例3
printf("result=%d ", (i++)+(i++)+(i++));
printf("i=%d\n",i);
结果输出result=9 i=6
例4
printf("result=%d ", (++i)+(++i)+(++i));
printf("i=%d\n",i);
结果输出result=16 i=6
先计算(++i)+(++i)
I=5, (++i)+(++i) = 10
然后++I 得6; 10 + 6 =16
例5
printf("%d, %d", i, i++);
结果是3, 3
例6
printf("%d, %d", i, ++i);
结果输出4, 4
运算方向:自右而左
例7
int a[2]={0,0};
int *p=a;
*p++=1;
printf("a[0]=%d,a[1]=%d", a[0],a[1]);
结果输出a[0]=1, a[1]=0
*p++ 相当于*(p++)