char a;
a=255;
printf("%d\n",a++);
输出结果-1
char是一个8位的有符号类型,他的取值范围是-128 ~ 127,当超过最大值时,自动从最小值开始往上加,也就是说如果a=128,那么他实际上是-128。
计算过程
255=-1 129=-127
255-128=127 129-128=1
-128+127=-1 -128+1=-127
char a;
a=255;
printf("%d\n",a++);
输出结果-1
char是一个8位的有符号类型,他的取值范围是-128 ~ 127,当超过最大值时,自动从最小值开始往上加,也就是说如果a=128,那么他实际上是-128。
计算过程
255=-1 129=-127
255-128=127 129-128=1
-128+127=-1 -128+1=-127